From 36158446b954504a1c063020c23acdf66b4b769b Mon Sep 17 00:00:00 2001 From: danthe1st Date: Tue, 15 Oct 2024 21:12:22 +0200 Subject: [PATCH] [MNG-8311] Add IT for local repository in settings.xml --- ...avenITmng8311EmptyLocalRepositoryTest.java | 50 +++++++++++++++++++ .../apache/maven/it/TestSuiteOrdering.java | 1 + .../empty-repository/pom.xml | 7 +++ .../settings.xml | 12 +++++ 4 files changed, 70 insertions(+) create mode 100644 core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8311EmptyLocalRepositoryTest.java create mode 100644 core-it-suite/src/test/resources/mng-8311-empty-local-repository/empty-repository/pom.xml create mode 100644 core-it-suite/src/test/resources/mng-8311-empty-local-repository/settings.xml diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8311EmptyLocalRepositoryTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8311EmptyLocalRepositoryTest.java new file mode 100644 index 000000000..07b582ebf --- /dev/null +++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8311EmptyLocalRepositoryTest.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.maven.it; + +import java.io.File; +import java.nio.file.Path; + +import org.apache.maven.shared.verifier.Verifier; +import org.apache.maven.shared.verifier.util.ResourceExtractor; +import org.junit.jupiter.api.Test; + +/** + * This is a test set for MNG-8311. + */ +class MavenITmng8311EmptyLocalRepositoryTest extends AbstractMavenIntegrationTestCase { + + MavenITmng8311EmptyLocalRepositoryTest() { + super("[4.0.0-beta-5,)"); + } + + /** + * Ensure that setting an empty {@code } in the settings.xml results the default local repository being used. + */ + @Test + void testitemptyLocalRepository() throws Exception { + File testDir = ResourceExtractor.simpleExtractResources(getClass(), "/mng-8311-empty-local-repository"); + + Verifier verifier = newVerifier(new File(testDir, "empty-repository").getAbsolutePath()); + verifier.addCliArguments("--settings", new File(testDir, "settings.xml").toString(), "-X", "validate"); + verifier.execute(); + Path expectedLocalRepository = Path.of(System.getProperty("user.home"), ".m2", "repository"); + verifier.verifyTextInLog("Using local repository at " + expectedLocalRepository.normalize()); + } +} diff --git a/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java b/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java index c9cca4cf5..a9f892520 100644 --- a/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java +++ b/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java @@ -120,6 +120,7 @@ public TestSuiteOrdering() { * the tests are to finishing. Newer tests are also more likely to fail, so this is * a fail fast technique as well. */ + suite.addTestSuite(MavenITmng8311EmptyLocalRepositoryTest.class); suite.addTestSuite(MavenITmng7982DependencyManagementTransitivityTest.class); suite.addTestSuite(MavenITmng8294ParentChecksTest.class); suite.addTestSuite(MavenITmng8293BomImportFromReactor.class); diff --git a/core-it-suite/src/test/resources/mng-8311-empty-local-repository/empty-repository/pom.xml b/core-it-suite/src/test/resources/mng-8311-empty-local-repository/empty-repository/pom.xml new file mode 100644 index 000000000..162269349 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-8311-empty-local-repository/empty-repository/pom.xml @@ -0,0 +1,7 @@ + + + org.apache.maven.its.mng8311 + empty-repo + 0.1-SNAPSHOT + pom + diff --git a/core-it-suite/src/test/resources/mng-8311-empty-local-repository/settings.xml b/core-it-suite/src/test/resources/mng-8311-empty-local-repository/settings.xml new file mode 100644 index 000000000..16a75df88 --- /dev/null +++ b/core-it-suite/src/test/resources/mng-8311-empty-local-repository/settings.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + \ No newline at end of file