@@ -283,6 +283,54 @@ void shouldCheckIfCanMount() throws IOException {
283283 "Should not mount if different reference type" );
284284 }
285285
286+ @ Test
287+ void shouldMountWithInsecureRegistry (@ TempDir Path homeDir ) throws Exception {
288+
289+ // language=toml
290+ String config =
291+ """
292+ [[registry]]
293+ location = "%s"
294+ insecure = true
295+ """
296+ .formatted (this .unsecureRegistry .getRegistry ());
297+ TestUtils .createRegistriesConfFile (homeDir , config );
298+
299+ TestUtils .withHome (homeDir , () -> {
300+ Registry registry = Registry .builder ()
301+ .defaults (this .unsecureRegistry .getRegistry ())
302+ .build ();
303+
304+ byte [] content = "foo" .getBytes (StandardCharsets .UTF_8 );
305+ String digest = SupportedAlgorithm .getDefault ().digest (content );
306+ ContainerRef sourceRef = ContainerRef .parse ("library/artifact-mount-insecure-source" );
307+ ContainerRef targetRef = ContainerRef .parse ("library/artifact-mount-insecure-target" );
308+ Layer layer = registry .pushBlob (sourceRef .withDigest (digest ), content );
309+ registry .mountBlob (sourceRef .withDigest (digest ), targetRef .withDigest (digest ));
310+
311+ // Ensure we can reference from both artifact
312+ Manifest manifestSource = Manifest .empty ().withLayers (List .of (layer ));
313+ Manifest manifestTarget = Manifest .empty ().withLayers (List .of (layer ));
314+
315+ // Push the empty config
316+ registry .pushConfig (sourceRef , Config .empty ());
317+
318+ // Mount also the config
319+ String configDigest = Config .empty ().getDigest ();
320+ assertNotNull (configDigest , "Config digest should not be null" );
321+ registry .mountBlob (sourceRef .withDigest (configDigest ), targetRef .withDigest (configDigest ));
322+
323+ registry .pushManifest (sourceRef , manifestSource );
324+ registry .pushManifest (targetRef , manifestTarget );
325+ assertThrows (
326+ OrasException .class ,
327+ () -> {
328+ registry .mountBlob (sourceRef , targetRef .withDigest (configDigest ));
329+ },
330+ "Missing digest" );
331+ });
332+ }
333+
286334 @ Test
287335 void shouldMount () {
288336 Registry registry = Registry .builder ()
0 commit comments