[ https://issues.apache.org/jira/browse/ARTEMIS-4160?focusedWorklogId=846488&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-846488 ]
ASF GitHub Bot logged work on ARTEMIS-4160: ------------------------------------------- Author: ASF GitHub Bot Created on: 20/Feb/23 19:50 Start Date: 20/Feb/23 19:50 Worklog Time Spent: 10m Work Description: brusdev commented on code in PR #4362: URL: https://github.com/apache/activemq-artemis/pull/4362#discussion_r1112282911 ########## artemis-cli/src/test/java/org/apache/activemq/artemis/cli/commands/CreateTest.java: ########## @@ -0,0 +1,105 @@ +/* + * 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.activemq.artemis.cli.commands; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.ParserConfigurationException; +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.Collection; + +import org.apache.activemq.artemis.utils.XmlProvider; +import org.apache.activemq.cli.test.CliTestBase; +import org.apache.activemq.cli.test.TestActionContext; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.xml.sax.SAXException; + +@RunWith(Parameterized.class) +public class CreateTest extends CliTestBase { + + private final String testName; + private String httpHost; + private boolean relaxJolokia; + + public CreateTest(String testName, String httpHost, boolean relaxJolokia) throws IOException { + this.testName = testName; + this.httpHost = httpHost; + this.relaxJolokia = relaxJolokia; + } + + @Parameterized.Parameters(name = "{0}") + public static Collection<Object[]> testData() { + return Arrays.asList(new Object[][]{ + {"Happy path + relaxJolokia", "sampledomain.com", true}, + {"Happy path - relaxJolokia", "sampledomain.net", false}, + {"Domain with dash + relaxJolokia", "sample-domain.co", true}, + {"Domain with dash - relaxJolokia", "sample-domain.co.uk", false}, + {"Domain with double dashes + relaxJolokia", "sample--domain.name", true}, + {"Domain with double dashes - relaxJolokia", "sample--domain.biz", false}, + {"Domain with leading dashes + relaxJolokia", "--sampledomain.company", true}, + {"Domain with leading dashes - relaxJolokia", "--sampledomain.email", false}, + {"Domain with trailing dashes + relaxJolokia", "sampledomain--.shop", true}, + {"Domain with trailing dashes - relaxJolokia", "sampledomain--.java", false}, + }); + } + + @Test + public void testWriteJolokiaAccessXmlCreatesValidXml() throws Exception { + TestActionContext context = new TestActionContext(); + File testInstance = new File(temporaryFolder.getRoot(), "test-instance"); + + Create c = new Create(); + c.setNoAutoTune(true); + c.setInstance(testInstance); + c.setHttpHost(httpHost); + c.setRelaxJolokia(relaxJolokia); + c.execute(context); + + try { + isXmlValid(new File(testInstance, "etc/" + Create.ETC_JOLOKIA_ACCESS_XML)); + } catch (Exception e) { + Assert.fail(testName + " should be valid, but " + e.toString()); Review Comment: The `isXmlValid` method is catching the exceptions and converting them in a boolean but the returned boolean isn't checked. You could check the returned boolean or remove the try/catch from the `isXmlValid` method. I would remove the try/catch from the `isXmlValid` method to print the cause exception when it fails. Issue Time Tracking ------------------- Worklog Id: (was: 846488) Time Spent: 3h 50m (was: 3h 40m) > jolokia-access.xml getting invalid XML from hostname during instance creation > ----------------------------------------------------------------------------- > > Key: ARTEMIS-4160 > URL: https://issues.apache.org/jira/browse/ARTEMIS-4160 > Project: ActiveMQ Artemis > Issue Type: Bug > Reporter: Justin Bertram > Priority: Major > Time Spent: 3h 50m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)