Skip to content

Commit 787db9b

Browse files
committed
Fix container tests for new config location
Update test.js to reference .devcontainer/defaults/codeforge/ instead of the removed .codeforge/ directory. Test 8 now validates the defaults directory structure rather than comparing against a source that no longer exists.
1 parent abab19f commit 787db9b

File tree

1 file changed

+39
-48
lines changed

1 file changed

+39
-48
lines changed

container/test.js

Lines changed: 39 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ function runTests() {
2828
"README.md",
2929
".devcontainer/devcontainer.json",
3030
".devcontainer/scripts/setup.sh",
31-
".codeforge/config/settings.json",
32-
".codeforge/file-manifest.json",
31+
".devcontainer/defaults/codeforge/config/settings.json",
32+
".devcontainer/defaults/codeforge/file-manifest.json",
3333
];
3434

3535
let allFilesExist = true;
@@ -99,9 +99,14 @@ function runTests() {
9999

100100
// Test 7: generateChecksums produces expected structure
101101
let checksumStructureValid = true;
102-
const codeforgeDir = path.join(__dirname, ".codeforge");
103-
if (fs.existsSync(codeforgeDir)) {
104-
const checksums = generateChecksums(codeforgeDir);
102+
const defaultsDir = path.join(
103+
__dirname,
104+
".devcontainer",
105+
"defaults",
106+
"codeforge",
107+
);
108+
if (fs.existsSync(defaultsDir)) {
109+
const checksums = generateChecksums(defaultsDir);
105110
if (typeof checksums === "object" && checksums !== null) {
106111
const keys = Object.keys(checksums);
107112
if (keys.length > 0) {
@@ -125,55 +130,41 @@ function runTests() {
125130
checksumStructureValid = false;
126131
}
127132
} else {
128-
console.log("❌ Test 7: .codeforge directory not found, skipping");
133+
console.log(
134+
"❌ Test 7: .devcontainer/defaults/codeforge/ not found, skipping",
135+
);
129136
checksumStructureValid = false;
130137
}
131138

132-
// Test 8: Bundled defaults in .devcontainer/defaults/codeforge/ match .codeforge/
133-
let bundledDefaultsInSync = true;
134-
const bundledDir = path.join(
135-
__dirname,
136-
".devcontainer",
137-
"defaults",
138-
"codeforge",
139-
);
140-
if (fs.existsSync(bundledDir) && fs.existsSync(codeforgeDir)) {
141-
const sourceChecksums = generateChecksums(codeforgeDir);
142-
const bundledChecksums = generateChecksums(bundledDir);
143-
const sourceKeys = Object.keys(sourceChecksums).sort();
144-
const bundledKeys = Object.keys(bundledChecksums).sort();
139+
// Test 8: Defaults directory has expected config structure
140+
let defaultsStructureValid = true;
141+
const expectedSubdirs = ["config"];
142+
const expectedFiles = ["file-manifest.json", "config/settings.json"];
145143

146-
if (JSON.stringify(sourceKeys) !== JSON.stringify(bundledKeys)) {
147-
console.log(
148-
"❌ Test 8: Bundled defaults file list differs from .codeforge/",
149-
);
150-
const missing = sourceKeys.filter((k) => !bundledKeys.includes(k));
151-
const extra = bundledKeys.filter((k) => !sourceKeys.includes(k));
152-
if (missing.length)
153-
console.log(` Missing from bundled: ${missing.join(", ")}`);
154-
if (extra.length)
155-
console.log(` Extra in bundled: ${extra.join(", ")}`);
156-
bundledDefaultsInSync = false;
157-
} else {
158-
const drifted = sourceKeys.filter(
159-
(k) => sourceChecksums[k] !== bundledChecksums[k],
160-
);
161-
if (drifted.length > 0) {
162-
console.log(
163-
"❌ Test 8: Bundled defaults content differs from .codeforge/",
164-
);
165-
console.log(` Drifted files: ${drifted.join(", ")}`);
166-
bundledDefaultsInSync = false;
167-
} else {
168-
console.log("✓ Test 8: Bundled defaults match .codeforge/");
144+
if (fs.existsSync(defaultsDir)) {
145+
for (const subdir of expectedSubdirs) {
146+
const subdirPath = path.join(defaultsDir, subdir);
147+
if (
148+
!fs.existsSync(subdirPath) ||
149+
!fs.statSync(subdirPath).isDirectory()
150+
) {
151+
console.log(`❌ Test 8: Missing expected subdirectory: ${subdir}`);
152+
defaultsStructureValid = false;
169153
}
170154
}
171-
} else if (!fs.existsSync(bundledDir)) {
172-
console.log("❌ Test 8: .devcontainer/defaults/codeforge/ not found");
173-
bundledDefaultsInSync = false;
155+
for (const file of expectedFiles) {
156+
const filePath = path.join(defaultsDir, file);
157+
if (!fs.existsSync(filePath)) {
158+
console.log(`❌ Test 8: Missing expected file: ${file}`);
159+
defaultsStructureValid = false;
160+
}
161+
}
162+
if (defaultsStructureValid) {
163+
console.log("✓ Test 8: Defaults directory has expected structure");
164+
}
174165
} else {
175-
console.log("❌ Test 8: .codeforge/ not found, cannot compare");
176-
bundledDefaultsInSync = false;
166+
console.log("❌ Test 8: .devcontainer/defaults/codeforge/ not found");
167+
defaultsStructureValid = false;
177168
}
178169

179170
// Summary
@@ -184,7 +175,7 @@ function runTests() {
184175
setupExecutable &&
185176
checksumFunctionsExist &&
186177
checksumStructureValid &&
187-
bundledDefaultsInSync
178+
defaultsStructureValid
188179
) {
189180
console.log("🎉 All tests passed! Package is ready for distribution.");
190181
process.exit(0);

0 commit comments

Comments
 (0)