Retrieve issuer certificate
[sdc.git] / openecomp-be / backend / openecomp-sdc-vendor-software-product-manager / src / test / java / org / openecomp / sdc / vendorsoftwareproduct / security / SecurityManagerTest.java
1 package org.openecomp.sdc.vendorsoftwareproduct.security;
2
3 import org.apache.commons.io.FileUtils;
4 import org.junit.After;
5 import org.junit.Before;
6 import org.junit.Test;
7 import org.junit.runner.RunWith;
8 import org.powermock.api.mockito.PowerMockito;
9 import org.powermock.core.classloader.annotations.PrepareForTest;
10 import org.powermock.modules.junit4.PowerMockRunner;
11
12 import java.io.File;
13 import java.io.IOException;
14
15 import static junit.framework.TestCase.assertEquals;
16 import static junit.framework.TestCase.assertTrue;
17 import static org.mockito.ArgumentMatchers.eq;
18
19 @RunWith(PowerMockRunner.class)
20 @PrepareForTest(SecurityManager.class)
21 public class SecurityManagerTest {
22     File certDir;
23
24     @Before
25     public void setUp(){
26         certDir = new File("/tmp/cert");
27         certDir.mkdirs();
28         PowerMockito.mockStatic(System.class);
29         PowerMockito.when(System.getenv(eq("SDC_CERT_DIR"))).thenReturn(certDir.getPath());
30     }
31
32     @After
33     public void tearDown(){
34         certDir.delete();
35     }
36
37     @Test
38     public void testGetCertificates() throws IOException {
39         File origFile = new File("src/test/resources/cert/root-certificate.pem");
40         File newFile = new File("/tmp/cert/root-certificate.pem");
41         newFile.createNewFile();
42         FileUtils.copyFile(origFile, newFile);
43         SecurityManager securityManager = new SecurityManager();
44         assertEquals(1, securityManager.getCertificates().size());
45         newFile.delete();
46         assertEquals(0, securityManager.getCertificates().size());
47     }
48
49     @Test
50     public void testGetCertificatesNoDirectory() throws IOException {
51         certDir.delete();
52         SecurityManager securityManager = new SecurityManager();
53         assertEquals(0, securityManager.getCertificates().size());
54     }
55
56     @Test(expected = SecurityManagerException.class)
57     public void testGetCertificatesException() throws IOException {
58         File newFile = new File("/tmp/cert/root-certificate.pem");
59         newFile.createNewFile();
60         SecurityManager securityManager = new SecurityManager();
61         assertEquals(1, securityManager.getCertificates().size());
62         newFile.delete();
63         assertEquals(0, securityManager.getCertificates().size());
64     }
65
66     @Test
67     public void testGetCertificatesUpdated() throws IOException {
68         File origFile = new File("src/test/resources/cert/root-certificate.pem");
69         File newFile = new File("/tmp/cert/root-certificate.pem");
70         newFile.createNewFile();
71         FileUtils.copyFile(origFile, newFile);
72         SecurityManager securityManager = new SecurityManager();
73         assertTrue(securityManager.getCertificates().size() == 1);
74         File otherOrigFile = new File("src/test/resources/cert/package-certificate.pem");
75         File otherNewFile = new File("/tmp/cert/package-certificate.pem");
76         newFile.createNewFile();
77         FileUtils.copyFile(otherOrigFile, otherNewFile);
78         assertEquals(2, securityManager.getCertificates().size());
79         otherNewFile.delete();
80         assertEquals(1, securityManager.getCertificates().size());
81         newFile.delete();
82         assertEquals(0, securityManager.getCertificates().size());
83     }
84 }