create RoleValidatorFactory component.
[vid.git] / vid-app-common / src / test / java / org / onap / vid / aai / SubscriberFilteredResultsTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
4  * ================================================================================
5  * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.vid.aai;
22
23 import java.io.IOException;
24 import java.util.ArrayList;
25 import java.util.Collections;
26 import java.util.List;
27
28 import com.fasterxml.jackson.databind.ObjectMapper;
29 import org.junit.Before;
30 import org.junit.Test;
31 import org.onap.vid.model.Subscriber;
32 import org.onap.vid.model.SubscriberList;
33 import org.onap.vid.roles.EcompRole;
34 import org.onap.vid.roles.Role;
35 import org.onap.vid.roles.RoleValidator;
36 import org.onap.vid.roles.RoleValidatorFactory;
37
38 import static org.junit.Assert.assertEquals;
39 import static org.mockito.Mockito.mock;
40
41 public class SubscriberFilteredResultsTest {
42
43     private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
44     private SubscriberFilteredResults subscriberFilteredResults;
45     private RoleValidator roleValidator;
46     private SubscriberList subscriberList;
47     private SubscriberListWithFilterData subscriberListWithFilterData;
48
49     private static final String SUBSCRIBER_JSON_EXAMPLE = "{\n" +
50             "  \"global-customer-id\": \"id\",\n" +
51             "  \"subscriber-name\": \"name\",\n" +
52             "  \"subscriber-type\": \"type\",\n" +
53             "  \"resource-version\": \"version\"\n" +
54             "}";
55
56     @Before
57     public void setUp() throws IOException {
58         createTestSubject();
59     }
60
61     @Test
62     public void testGetSubscriberList(){
63         assertEquals(subscriberFilteredResults.getSubscriberList(), subscriberListWithFilterData);
64     }
65
66     @Test
67     public void testSetSubscriberList() throws Exception {
68         subscriberList.customer = new ArrayList<>();
69         subscriberList.customer.add(new Subscriber());
70         SubscriberListWithFilterData expectedList = createSubscriberList(subscriberList,roleValidator);
71         subscriberFilteredResults.setSubscriberList(expectedList);
72
73         assertEquals(subscriberFilteredResults.getSubscriberList(), expectedList);
74     }
75
76     private void createTestSubject() throws IOException {
77         prepareRoleValidator();
78         prepareSubscriberList();
79         prepareSubscriberListWithFilterData();
80         createSubscriberFilteredResults();
81     }
82
83     private void createSubscriberFilteredResults() {
84         subscriberFilteredResults =
85                 new SubscriberFilteredResults(roleValidator, subscriberList, "OK", 200);
86         subscriberFilteredResults.setSubscriberList(subscriberListWithFilterData);
87     }
88
89     private void prepareSubscriberListWithFilterData() {
90         subscriberListWithFilterData = createSubscriberList(subscriberList, roleValidator);
91     }
92
93     private void prepareRoleValidator() {
94         roleValidator = mock(RoleValidator.class);
95     }
96
97     private void prepareSubscriberList() throws IOException {
98         Subscriber sampleSubscriber =
99                 OBJECT_MAPPER.readValue(SUBSCRIBER_JSON_EXAMPLE, Subscriber.class);
100         List<Subscriber> expectedListOfSubscribers = Collections.singletonList(sampleSubscriber);
101         subscriberList = new SubscriberList(expectedListOfSubscribers);
102     }
103
104     private SubscriberListWithFilterData createSubscriberList(SubscriberList subscriberList,
105                                                               RoleValidator roleValidator){
106         return new SubscriberListWithFilterData(subscriberList,roleValidator);
107     }
108 }