@@ -216,24 +216,48 @@ func TestValidateDependenciesAvailable(t *testing.T) {
216216 expectedResult : true ,
217217 },
218218 {
219- name : "Docker package only checks direct dependencies" ,
219+ name : "Docker package checks all transitive dependencies" ,
220220 setupPackages : func () (* Package , map [* Package ]PackageBuildStatus , * mockLocalCache ) {
221221 depB := newTestPackage ("test:dep-b" , GenericPackage )
222222 depA := newTestPackage ("test:dep-a" , GenericPackage )
223223 depA .dependencies = []* Package {depB }
224224
225- pkg := newTestPackage ("test:pkg" , DockerPackage ) // Docker only needs direct deps
225+ pkg := newTestPackage ("test:pkg" , DockerPackage )
226226 pkg .dependencies = []* Package {depA }
227227
228228 pkgstatus := map [* Package ]PackageBuildStatus {
229229 pkg : PackageDownloaded ,
230230 depA : PackageBuilt ,
231- // depB has no status - but Docker doesn't need it
231+ // depB has no status - validation should fail because
232+ // cached packages need all transitive deps available
232233 }
233234 cache := newMockLocalCache ()
234235 cache .addPackage ("test:pkg" , "/cache/test-pkg.tar.gz" )
235236 cache .addPackage ("test:dep-a" , "/cache/test-dep-a.tar.gz" )
236- // depB is NOT in cache - but Docker doesn't check transitive deps
237+ // depB is NOT in cache - validation should fail
238+ return pkg , pkgstatus , cache
239+ },
240+ expectedResult : false , // Changed: now checks transitive deps
241+ },
242+ {
243+ name : "Docker package with all transitive dependencies available" ,
244+ setupPackages : func () (* Package , map [* Package ]PackageBuildStatus , * mockLocalCache ) {
245+ depB := newTestPackage ("test:dep-b" , GenericPackage )
246+ depA := newTestPackage ("test:dep-a" , GenericPackage )
247+ depA .dependencies = []* Package {depB }
248+
249+ pkg := newTestPackage ("test:pkg" , DockerPackage )
250+ pkg .dependencies = []* Package {depA }
251+
252+ pkgstatus := map [* Package ]PackageBuildStatus {
253+ pkg : PackageDownloaded ,
254+ depA : PackageBuilt ,
255+ depB : PackageBuilt ,
256+ }
257+ cache := newMockLocalCache ()
258+ cache .addPackage ("test:pkg" , "/cache/test-pkg.tar.gz" )
259+ cache .addPackage ("test:dep-a" , "/cache/test-dep-a.tar.gz" )
260+ cache .addPackage ("test:dep-b" , "/cache/test-dep-b.tar.gz" )
237261 return pkg , pkgstatus , cache
238262 },
239263 expectedResult : true ,
0 commit comments