65dc7c501d81f24c462bfc0365b6055a02c20e7a
[aaf/authz.git] / misc / env / src / test / java / org / onap / aaf / misc / env / impl / JU_BasicEnvTest.java
1 /**\r
2  * ============LICENSE_START====================================================\r
3  * org.onap.aaf\r
4  * ===========================================================================\r
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.\r
6  * ===========================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END====================================================\r
19  *\r
20  */\r
21 package org.onap.aaf.misc.env.impl;\r
22 \r
23 import static org.junit.Assert.assertEquals;\r
24 import static org.junit.Assert.assertNull;\r
25 import static org.junit.Assert.assertTrue;\r
26 import static org.mockito.Mockito.mock;\r
27 \r
28 import java.applet.Applet;\r
29 import java.io.IOException;\r
30 import java.util.Properties;\r
31 \r
32 import org.junit.After;\r
33 import org.junit.Before;\r
34 import org.junit.Test;\r
35 import org.mockito.Mock;\r
36 import org.onap.aaf.misc.env.Decryptor;\r
37 import org.onap.aaf.misc.env.Encryptor;\r
38 import org.onap.aaf.misc.env.LogTarget;\r
39 import org.onap.aaf.misc.env.TimeTaken;\r
40 \r
41 public class JU_BasicEnvTest {\r
42 \r
43         @Mock\r
44         Decryptor decrypt;\r
45 \r
46         @Mock\r
47         Encryptor encrypt;\r
48 \r
49         @Before\r
50         public void setup() {\r
51                 decrypt = mock(Decryptor.class);\r
52                 encrypt = mock(Encryptor.class);\r
53         }\r
54 \r
55         @Test\r
56         public void testLogTarget() {\r
57                 Properties prop = new Properties();\r
58                 BasicEnv env = new BasicEnv(prop);\r
59 \r
60                 assertEquals(env.fatal(), LogTarget.SYSERR);\r
61                 assertEquals(env.error(), LogTarget.SYSERR);\r
62                 assertEquals(env.audit(), LogTarget.SYSOUT);\r
63                 assertEquals(env.warn(), LogTarget.SYSERR);\r
64                 assertEquals(env.init(), LogTarget.SYSOUT);\r
65                 assertEquals(env.info(), LogTarget.SYSOUT);\r
66                 assertEquals(env.debug(), LogTarget.NULL);\r
67                 assertEquals(env.trace(), LogTarget.NULL);\r
68 \r
69                 env.debug(LogTarget.SYSOUT);\r
70                 assertEquals(env.debug(), LogTarget.SYSOUT);\r
71 \r
72                 assertNull(env.getProperty("key"));\r
73                 assertEquals("default", env.getProperty("key", "default"));\r
74 \r
75                 env.setProperty("key", "value");\r
76                 assertEquals("value", env.getProperty("key", "default"));\r
77 \r
78                 Properties filteredProperties = env.getProperties("key");\r
79                 assertEquals(filteredProperties.size(), 1);\r
80 \r
81                 env.setProperty("key", null);\r
82                 assertEquals("default", env.getProperty("key", "default"));\r
83 \r
84                 filteredProperties = env.getProperties("key1");\r
85                 assertEquals(filteredProperties.size(), 0);\r
86 \r
87                 filteredProperties = env.getProperties();\r
88                 assertEquals(filteredProperties.size(), 0);\r
89 \r
90         }\r
91 \r
92         @Test\r
93         public void testBasicEnv() {\r
94                 Applet applet = null;\r
95 \r
96                 BasicEnv env = new BasicEnv(applet, "tag1", "tag2");\r
97 \r
98                 TimeTaken tt = env.start("Name", 2);\r
99 \r
100                 long end = tt.end();\r
101                 StringBuilder sb = new StringBuilder();\r
102 \r
103                 assertEquals(tt.toString(), "Name " + (end - tt.start) / 1000000f + "ms ");\r
104                 tt.output(sb);\r
105                 assertEquals(sb.toString(), "XML Name " + (end - tt.start) / 1000000f + "ms");\r
106 \r
107                 env.set(decrypt);\r
108                 assertEquals(env.decryptor(), decrypt);\r
109                 env.set(encrypt);\r
110                 assertEquals(env.encryptor(), encrypt);\r
111         }\r
112 \r
113         @Test\r
114         public void testBasicEnvDiffFlag() {\r
115                 Properties prop = new Properties();\r
116 \r
117                 BasicEnv env = new BasicEnv("tag1", prop);\r
118 \r
119                 TimeTaken tt = env.start("Name", 1);\r
120 \r
121                 long end = tt.end();\r
122                 StringBuilder sb = new StringBuilder();\r
123 \r
124                 assertEquals(tt.toString(), "Name " + (end - tt.start) / 1000000f + "ms ");\r
125                 tt.output(sb);\r
126                 assertEquals(sb.toString(), "REMOTE Name " + (end - tt.start) / 1000000f + "ms");\r
127 \r
128                 tt = env.start("New Name", 4);\r
129                 tt.size(10);\r
130                 sb = new StringBuilder();\r
131                 tt.output(sb);\r
132                 assertEquals(tt.toString(), "New Name " + (end - tt.start) / 1000000f + "ms 10");\r
133                 assertEquals(sb.toString(), "JSON New Name " + (end - tt.start) / 1000000f + "ms size: 10");\r
134 \r
135                 env.staticSlot("tag", "prop");\r
136 \r
137                 if (System.getProperties().keySet().iterator().hasNext()) {\r
138                         String key = (String) System.getProperties().keySet().iterator().next();\r
139 \r
140                         env.loadFromSystemPropsStartsWith(key);\r
141                         assertEquals(env.getProperty(key), System.getProperties().get(key));\r
142                 }\r
143 \r
144                 BasicTrans trans = env.newTrans();\r
145                 assertEquals(trans.delegate, env);\r
146 \r
147         }\r
148 \r
149         @Test\r
150         public void testLoadProperties() throws IOException {\r
151                 Properties prop = new Properties();\r
152 \r
153                 BasicEnv env = new BasicEnv("tag1", prop);\r
154 \r
155                 env.loadPropFiles("tag1", null);\r
156                 env.setProperty("tag1", "propfile.properties");\r
157                 env.loadPropFiles("tag1", null);\r
158 \r
159                 assertEquals(env.getProperty("prop1"), "New Property");\r
160 \r
161                 env.loadToSystemPropsStartsWith("prop1");\r
162 \r
163                 assertTrue(System.getProperties().keySet().contains("prop1"));\r
164                 assertEquals(System.getProperties().get("prop1"), "New Property");\r
165         }\r
166 \r
167         @After\r
168         public void tearDown() throws IOException {\r
169                 /*\r
170                  * File file = new File("./log-Append" + ending + "_0.log"); if (file.exists())\r
171                  * { Files.delete(Paths.get(file.getAbsolutePath())); } file = new\r
172                  * File("./log-Append" + ending + "_1.log"); if (file.exists()) {\r
173                  * Files.delete(Paths.get(file.getAbsolutePath())); } file = new File("./Append"\r
174                  * + ending + "_0.log"); if (file.exists()) {\r
175                  * Files.delete(Paths.get(file.getAbsolutePath())); } file = new File("./Append"\r
176                  * + ending + "_1.log"); if (file.exists()) {\r
177                  * Files.delete(Paths.get(file.getAbsolutePath())); }\r
178                  */\r
179         }\r
180 }\r