aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/test/java/org/onap/cli/fw/store/OnapCommandArtifactStoreTest.java
blob: 45186b389f09e3adabb30129c11a731da1dba5a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/*
 * Copyright 2019 Huawei Technologies Co., Ltd.
 *
 * 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.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


package org.onap.cli.fw.store;

import org.junit.Before;
import org.junit.Test;
import org.onap.cli.fw.error.OnapCommandArtifactAlreadyExist;
import org.onap.cli.fw.error.OnapCommandArtifactContentChecksumNotMatch;
import org.onap.cli.fw.error.OnapCommandArtifactContentNotExist;
import org.onap.cli.fw.error.OnapCommandArtifactNotFound;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertNotNull;

public class OnapCommandArtifactStoreTest {
     OnapCommandArtifactStore onapCommandArtifactStore;
    OnapCommandArtifactStore.Artifact artifact;
    @Before
    public void setUp() throws Exception {
        onapCommandArtifactStore= OnapCommandArtifactStore.getStore();
       artifact =new OnapCommandArtifactStore.Artifact();
        Map<String,String> metadata=new HashMap<>();
        metadata.put("name","data");
        artifact.setName("artifact");
        artifact.setCategoty("category");
        artifact.setChecksum("checksum");
        artifact.setPath(System.getProperty("user.dir")+ File.separator+"src/test/resources/sample-cmd-test-help.txt");
        artifact.setCreateAt("12");
        artifact.setDescription("description");
        artifact.setLastUpdatedAt("12");
        artifact.setMetadata(metadata);
        artifact.setSize(12L);
    }
    @Test
    public void createAndDeleteArtifactTest() throws OnapCommandArtifactContentChecksumNotMatch, OnapCommandArtifactAlreadyExist, OnapCommandArtifactContentNotExist, OnapCommandArtifactNotFound {
        assertNotNull(onapCommandArtifactStore.createArtifact(artifact));
        onapCommandArtifactStore.deleteArtifact("artifact","category");
        String artifactPath=System.getProperty("user.dir")+File.separator+"data/artifacts";
        File artifactFile= new File(artifactPath+File.separator+"artifact__category.json");
        assertFalse(artifactFile.exists());

    }
    @Test
    public void updateArtifactTest() throws OnapCommandArtifactNotFound, OnapCommandArtifactAlreadyExist, OnapCommandArtifactContentNotExist, OnapCommandArtifactContentChecksumNotMatch {
        onapCommandArtifactStore.createArtifact(artifact);
        OnapCommandArtifactStore.Artifact artifactForUpdate =new OnapCommandArtifactStore.Artifact();
        Map<String,String> metadata=new HashMap<>();
        metadata.put("name","data");
        artifactForUpdate.setName("artifactForUpdate");
        artifactForUpdate.setCategoty("categoryUpdate");
        artifactForUpdate.setChecksum("checksum");
        artifactForUpdate.setPath(System.getProperty("user.dir")+ File.separator+"src/test/resources/sample-cmd-test-help.txt");
        artifactForUpdate.setCreateAt("12");
        artifactForUpdate.setDescription("description");
        artifactForUpdate.setLastUpdatedAt("12");
        artifactForUpdate.setMetadata(metadata);
        assertNotNull(onapCommandArtifactStore.updateArtifact("artifact","category",artifactForUpdate));
        onapCommandArtifactStore.deleteArtifact("artifactForUpdate","categoryUpdate");
    }
    @Test(expected = OnapCommandArtifactNotFound.class)
    public void getArtifactTest() throws OnapCommandArtifactNotFound {
       onapCommandArtifactStore.getArtifact("abc","abc");
    }
    @Test
    public void listArtifactTest() throws OnapCommandArtifactNotFound {
        assertNotNull(onapCommandArtifactStore.listArtifact("category","namePattern"));
    }
    @Test
    public void createArtifactTestForGson() throws OnapCommandArtifactContentChecksumNotMatch, OnapCommandArtifactAlreadyExist, OnapCommandArtifactContentNotExist, OnapCommandArtifactNotFound {
        assertNotNull(onapCommandArtifactStore.createArtifact(artifact));
        String artifactPath=System.getProperty("user.dir")+File.separator+"data/artifacts";
        File artifactFile= new File(artifactPath+File.separator+"artifact__category.json");
        assertTrue(artifactFile.exists());
        onapCommandArtifactStore.deleteArtifact("artifact","category");

    }

    @Test
    public void listArtifactTestForGson() throws OnapCommandArtifactNotFound {
        String basePath= System.getProperty("user.dir")+File.separator+"data/artifacts/testFile.json";
        File testFile = new File(basePath);
        if (!testFile.exists()) {
            try {
                testFile.createNewFile();
                try(BufferedWriter writer = new BufferedWriter(new FileWriter(testFile))) {
                    String content = "{\"name\": \"name\",\"description\": \"description\",\"categoty\": \"categoty\"," +
                            "\"checksum\": \"checksum\",\"size\": 100,\"createAt\": \"createAt\"" +
                            ",\"lastUpdatedAt\":\"lastUpdatedAt\",\"path\": \"path\",\"metadata\": {}}";
                    writer.write(content);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        assertNotNull(onapCommandArtifactStore.listArtifact("category","namePattern"));

        testFile.delete();
    }
}