X-Git-Url: https://gerrit.onap.org/r/gitweb?p=policy%2Fengine.git;a=blobdiff_plain;f=ONAP-XACML%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fxacml%2Ftest%2Futil%2FXACMLPolicyWriterTest.java;h=1ec1616ef96583e64be973c144f78d1f9ec1a75c;hp=c948716dcfb49a1eb9ea26d635b37ccdf96ecf29;hb=d089848fdb0beef8446bdcf60cdb14e4655a93e5;hpb=073cc188efe9abb4c010cf674e34e2cf46ef1c52 diff --git a/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/util/XACMLPolicyWriterTest.java b/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/util/XACMLPolicyWriterTest.java index c948716dc..1ec1616ef 100644 --- a/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/util/XACMLPolicyWriterTest.java +++ b/ONAP-XACML/src/test/java/org/onap/policy/xacml/test/util/XACMLPolicyWriterTest.java @@ -2,14 +2,16 @@ * ============LICENSE_START======================================================= * ONAP-XACML * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Modifications Copyright (C) 2019 Samsung * ================================================================================ * Licensed 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. @@ -17,14 +19,21 @@ * limitations under the License. * ============LICENSE_END========================================================= */ + package org.onap.policy.xacml.test.util; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; +import java.io.OutputStream; import java.nio.file.Path; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicySetType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; @@ -32,31 +41,56 @@ import org.junit.Test; import org.onap.policy.xacml.util.XACMLPolicyWriter; public class XACMLPolicyWriterTest { - private static final Log logger = LogFactory.getLog(XACMLPolicyWriterTest.class); - private static Path configPolicyPathValue; - private static Path actionPolicyPathValue; - - @Before - public void setUp() { - File templateFile; - ClassLoader classLoader = getClass().getClassLoader(); + private static final Log logger = LogFactory.getLog(XACMLPolicyWriterTest.class); + private static Path configPolicyPathValue; + private static Path actionPolicyPathValue; + + @Before + public void setUp() { + File templateFile; + ClassLoader classLoader = getClass().getClassLoader(); try { - templateFile = new File(classLoader.getResource("Config_SampleTest1206.1.xml").getFile()); - configPolicyPathValue = templateFile.toPath(); - templateFile = new File(classLoader.getResource("Action_TestActionPolicy.1.xml").getFile()); - actionPolicyPathValue = templateFile.toPath(); - } catch (Exception e1) { - logger.error("Exception Occured"+e1); - } - } - - @SuppressWarnings("static-access") - @Test - public void xacmlPolicyWriterTest() throws IOException{ - XACMLPolicyWriter writer = new XACMLPolicyWriter(); - String configResponseValue = writer.changeFileNameInXmlWhenRenamePolicy(configPolicyPathValue); - assertTrue(configResponseValue.equals("txt")); - String actionResponseValue = writer.changeFileNameInXmlWhenRenamePolicy(actionPolicyPathValue); - assertTrue(actionResponseValue.equals("json")); - } + templateFile = new File(classLoader.getResource("Config_SampleTest1206.1.xml").getFile()); + configPolicyPathValue = templateFile.toPath(); + templateFile = new File(classLoader.getResource("Action_TestActionPolicy.1.xml").getFile()); + actionPolicyPathValue = templateFile.toPath(); + } catch (Exception e1) { + logger.error("Exception Occured" + e1); + } + } + + @SuppressWarnings("static-access") + @Test + public void xacmlPolicyWriterTest() throws IOException { + XACMLPolicyWriter writer = new XACMLPolicyWriter(); + String configResponseValue = writer.changeFileNameInXmlWhenRenamePolicy(configPolicyPathValue); + assertTrue(configResponseValue.equals("txt")); + String actionResponseValue = writer.changeFileNameInXmlWhenRenamePolicy(actionPolicyPathValue); + assertTrue(actionResponseValue.equals("json")); + } + + @Test + public void testWrites() throws Exception { + // Set up test data + PolicyType policyType = new PolicyType(); + OutputStream os = new ByteArrayOutputStream(); + File tmpfile = File.createTempFile("foo", null); + Path filename = tmpfile.toPath(); + PolicySetType policySet = new PolicySetType(); + + // delete tmp file before running the test + tmpfile.delete(); + + // ensure its deleted after writePolicyFile() re-creates it + tmpfile.deleteOnExit(); + + // Test write combinations + assertNotNull(XACMLPolicyWriter.writePolicyFile(filename, policySet)); + assertNotNull(XACMLPolicyWriter.writePolicyFile(filename, policyType)); + assertNotNull(XACMLPolicyWriter.getXmlAsInputStream(policyType)); + XACMLPolicyWriter.writePolicyFile(os, policySet); + assertNotNull(os.toString()); + XACMLPolicyWriter.writePolicyFile(os, policyType); + assertNotNull(os.toString()); + } }