0517fd788e50b1f7b0cb0db119ceeaef468b50b2
[vid.git] /
1 package org.onap.simulator.presetGenerator.presets.aai;
2
3 import com.fasterxml.jackson.core.type.TypeReference;
4 import com.fasterxml.jackson.databind.ObjectMapper;
5 import com.google.common.collect.ImmutableMap;
6 import java.io.IOException;
7 import java.util.Collections;
8 import java.util.List;
9 import java.util.Map;
10 import org.onap.simulator.presetGenerator.presets.BasePresets.BaseAAIPreset;
11 import org.onap.simulator.presetGenerator.presets.model.Subscriber;
12 import org.springframework.http.HttpMethod;
13
14 public class PresetAAIGetSubscribersGet extends BaseAAIPreset {
15
16     private static ObjectMapper objectMapper = new ObjectMapper();
17     private List<Subscriber> subscriberList;
18
19     public PresetAAIGetSubscribersGet(List<Subscriber> subscriberList) {
20         this.subscriberList = subscriberList;
21     }
22
23     public PresetAAIGetSubscribersGet() {
24         TypeReference<List<Subscriber>> typeRef
25                 = new TypeReference<List<Subscriber>>() {};
26
27         // like registration_to_simulator/create_new_instance/aai_get_full_subscribers.json
28         String subscribersString = "" +
29                 "[ " +
30                 "        { " +
31                 "          \"global-customer-id\":\"CAR_2020_ER\", " +
32                 "          \"subscriber-name\":\"CAR_2020_ER\", " +
33                 "          \"subscriber-type\":\"INFRA\", " +
34                 "          \"resource-version\":\"1494001902987\" " +
35                 "        }, " +
36                 "        { " +
37                 "          \"global-customer-id\":\"21014aa2-526b-11e6-beb8-9e71128cae77\", " +
38                 "          \"subscriber-name\":\"JULIO ERICKSON\", " +
39                 "          \"subscriber-type\":\"INFRA\", " +
40                 "          \"resource-version\":\"1494001776295\" " +
41                 "        }, " +
42                 "        { " +
43                 "          \"global-customer-id\":\"DHV1707-TestSubscriber-2\", " +
44                 "          \"subscriber-name\":\"DALE BRIDGES\", " +
45                 "          \"subscriber-type\":\"INFRA\", " +
46                 "          \"resource-version\":\"1498751754450\" " +
47                 "        }, " +
48                 "        { " +
49                 "          \"global-customer-id\":\"DHV1707-TestSubscriber-1\", " +
50                 "          \"subscriber-name\":\"LLOYD BRIDGES\", " +
51                 "          \"subscriber-type\":\"INFRA\", " +
52                 "          \"resource-version\":\"1498595633607\" " +
53                 "        }, " +
54                 "        { " +
55                 "          \"global-customer-id\":\"jimmy-example\", " +
56                 "          \"subscriber-name\":\"JimmyExampleCust-20161102\", " +
57                 "          \"subscriber-type\":\"INFRA\", " +
58                 "          \"resource-version\":\"1494001970063\" " +
59                 "        }, " +
60                 "        { " +
61                 "          \"global-customer-id\":\"jimmy-example2\", " +
62                 "          \"subscriber-name\":\"JimmyExampleCust-20161103\", " +
63                 "          \"subscriber-type\":\"INFRA\", " +
64                 "          \"resource-version\":\"1494001970225\" " +
65                 "        }, " +
66                 "        { " +
67                 "          \"global-customer-id\":\"ERICA5779-TestSub-PWT-102\", " +
68                 "          \"subscriber-name\":\"ERICA5779-TestSub-PWT-102\", " +
69                 "          \"subscriber-type\":\"INFRA\", " +
70                 "          \"resource-version\":\"1508852495058\" " +
71                 "        }, " +
72                 "        { " +
73                 "          \"global-customer-id\":\"ERICA5779-TestSub-PWT-101\", " +
74                 "          \"subscriber-name\":\"ERICA5779-TestSub-PWT-101\", " +
75                 "          \"subscriber-type\":\"INFRA\", " +
76                 "          \"resource-version\":\"1508179953733\" " +
77                 "        }, " +
78                 "        { " +
79                 "          \"global-customer-id\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\", " +
80                 "          \"subscriber-name\":\"Emanuel\", " +
81                 "          \"subscriber-type\":\"INFRA\", " +
82                 "          \"resource-version\":\"1494001894192\" " +
83                 "        }, " +
84                 "        { " +
85                 "          \"global-customer-id\":\"ERICA5779-Subscriber-4\", " +
86                 "          \"subscriber-name\":\"ERICA5779-Subscriber-5\", " +
87                 "          \"subscriber-type\":\"INFRA\", " +
88                 "          \"resource-version\":\"1509134064531\" " +
89                 "        }, " +
90                 "        { " +
91                 "          \"global-customer-id\":\"ERICA5779-TestSub-PWT-103\", " +
92                 "          \"subscriber-name\":\"ERICA5779-TestSub-PWT-103\", " +
93                 "          \"subscriber-type\":\"INFRA\", " +
94                 "          \"resource-version\":\"1509045503736\" " +
95                 "        }, " +
96                 "        { " +
97                 "          \"global-customer-id\":\"ERICA5779-Subscriber-2\", " +
98                 "          \"subscriber-name\":\"ERICA5779-Subscriber-2\", " +
99                 "          \"subscriber-type\":\"INFRA\", " +
100                 "          \"resource-version\":\"1509122065439\" " +
101                 "        }, " +
102                 "        { " +
103                 "          \"global-customer-id\":\"e433710f-9217-458d-a79d-1c7aff376d89\", " +
104                 "          \"subscriber-name\":\"SILVIA ROBBINS\", " +
105                 "          \"subscriber-type\":\"INFRA\", " +
106                 "          \"resource-version\":\"1494001938080\" " +
107                 "        }, " +
108                 "        { " +
109                 "          \"global-customer-id\":\"ERICA5779-Subscriber-3\", " +
110                 "          \"subscriber-name\":\"ERICA5779-Subscriber-3\", " +
111                 "          \"subscriber-type\":\"INFRA\", " +
112                 "          \"resource-version\":\"1509122759407\" " +
113                 "        }, " +
114                 "        { " +
115                 "          \"global-customer-id\":\"31739f3e-526b-11e6-beb8-9e71128cae77\", " +
116                 "          \"subscriber-name\":\"CRAIG/ROBERTS\", " +
117                 "          \"subscriber-type\":\"INFRA\", " +
118                 "          \"resource-version\":\"1494001772223\" " +
119                 "        }, " +
120                 "        { " +
121                 "          \"global-customer-id\":\"global-customer-id\", " +
122                 "          \"subscriber-name\":\"global-customer-id\", " +
123                 "          \"subscriber-type\":\"INFRA\", " +
124                 "          \"resource-version\":\"1494001772226\", " +
125                 "          \"relationship-list\":{ " +
126                 "               \"relationship\":[ " +
127                 "                   { " +
128                 "                       \"related-to\":\"vpn-binding\", " +
129                 "                       \"relationship-label\":\"org.onap.relationships.inventory.Uses\", " +
130                 "                       \"related-link\":\"/aai/v14/network/vpn-bindings/vpn-binding/3e7834fb-a8e0-4243-a837-5352ccab4602\", " +
131                 "                       \"relationship-data\":[ " +
132                 "                           { " +
133                 "                               \"relationship-key\":\"vpn-binding.vpn-id\", " +
134                 "                               \"relationship-value\":\"3e7834fb-a8e0-4243-a837-5352ccab4602\" " +
135                 "                           } " +
136                 "                       ], " +
137                 "                       \"related-to-property\":[ " +
138                 "                           { " +
139                 "                               \"property-key\":\"vpn-binding.vpn-name\", " +
140                 "                               \"property-value\":\"LPPVPN\" " +
141                 "                           }, " +
142                 "                           { " +
143                 "                               \"property-key\":\"vpn-binding.vpn-type\", " +
144                 "                               \"property-value\":\"CUSTOMER\" " +
145                 "                           } " +
146                 "                       ] " +
147                 "                   } " +
148                 "               ] " +
149                 "           } " +
150                 "        }" +
151                 "      ] ";
152         try {
153             this.subscriberList = objectMapper.readValue(subscribersString, typeRef);
154         } catch (IOException e) {
155             throw new RuntimeException(e);
156         }
157     }
158
159     public List<Subscriber> getSubscriberList() {
160         return subscriberList;
161     }
162
163     public void setSubscriberList(List<Subscriber> subscriberList) {
164         this.subscriberList = subscriberList;
165     }
166
167     @Override
168     public Object getResponseBody() {
169         return ImmutableMap.of("customer", subscriberList);
170     }
171
172     @Override
173     public Map<String, List> getQueryParams() {
174         return ImmutableMap.of(
175                 "subscriber-type", Collections.singletonList("INFRA"),
176                 "depth",  Collections.singletonList("0"));
177     }
178
179     @Override
180     public HttpMethod getReqMethod() {
181         return HttpMethod.GET;
182     }
183
184     @Override
185     public String getReqPath() {
186         return getRootPath() + "/business/customers";
187     }
188
189 }