aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Kabaj <michal.kabaj@nokia.com>2019-07-19 12:12:28 +0200
committerMichal Kabaj <michal.kabaj@nokia.com>2019-07-19 12:12:28 +0200
commit25245136c711cb4b1ed3c8e351a79e3572512434 (patch)
tree2107dbda36dc54817ef2db37967febf2cf31e356
parentf4c052df50487af25e4508978bd1b667bc37dbc2 (diff)
Pnf pojo improvements
- added builder - immutable - improved json serialization Change-Id: If0c9128dfd27d1c04e2f8683bade16700789276e Issue-ID: VID-478 Signed-off-by: Michal Kabaj <michal.kabaj@nokia.com>
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/aai/model/AaiGetPnfs/Pnf.java131
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/aai/model/AaiGetPnfs/PnfTest.java31
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/bl/AaiServiceTest.java3
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java17
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/services/AaiServiceImplTest.java2
5 files changed, 120 insertions, 64 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/aai/model/AaiGetPnfs/Pnf.java b/vid-app-common/src/main/java/org/onap/vid/aai/model/AaiGetPnfs/Pnf.java
index e9d8c6498..2d5456311 100644
--- a/vid-app-common/src/main/java/org/onap/vid/aai/model/AaiGetPnfs/Pnf.java
+++ b/vid-app-common/src/main/java/org/onap/vid/aai/model/AaiGetPnfs/Pnf.java
@@ -3,13 +3,14 @@
* VID
* ================================================================================
* Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nokia.
* ================================================================================
* 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.
@@ -21,77 +22,117 @@
package org.onap.vid.aai.model.AaiGetPnfs;
import com.fasterxml.jackson.annotation.JsonAlias;
+import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.onap.vid.aai.model.AaiRelationResponse;
@JsonIgnoreProperties(ignoreUnknown = true)
-public class Pnf extends AaiRelationResponse {
+public final class Pnf extends AaiRelationResponse {
+
+ private final String pnfId;
+ private final String pnfName;
+ private final String pnfName2;
+ private final String pnfName2Source;
+ private final String equipType;
+ private final String equipVendor;
+ private final String equipModel;
+
+ @JsonCreator
+ public Pnf(
+ @JsonAlias("pnf-id") String pnfId, @JsonAlias("pnf-name") String pnfName,
+ @JsonAlias("pnf-name2") String pnfName2, @JsonAlias("pnf-name2-source") String pnfName2Source,
+ @JsonAlias("equip-type") String equipType, @JsonAlias("equip-vendor") String equipVendor,
+ @JsonAlias("equip-model") String equipModel) {
- private String pnfName;
- private String pnfName2;
- private String pnfName2Source;
- private String pnfId;
- private String equipType;
- private String equipVendor;
- private String equipModel;
-
- public String getPnfName() {
- return pnfName;
- }
-
- @JsonAlias("pnf-name")
- public void setPnfName(String pnfName) {
+ this.pnfId = pnfId;
this.pnfName = pnfName;
+ this.pnfName2 = pnfName2;
+ this.pnfName2Source = pnfName2Source;
+ this.equipType = equipType;
+ this.equipVendor = equipVendor;
+ this.equipModel = equipModel;
}
- public String getEquipType() {
- return equipType;
- }
-
- @JsonAlias("equip-type")
- public void setEquipType(String equipType) {
- this.equipType = equipType;
+ public static Builder builder() {
+ return new Builder();
}
- public String getEquipVendor() {
- return equipVendor;
+ public String getPnfId() {
+ return pnfId;
}
- @JsonAlias("equip-vendor")
- public void setEquipVendor(String equipVendor) {
- this.equipVendor = equipVendor;
+ public String getPnfName() {
+ return pnfName;
}
public String getPnfName2() {
return pnfName2;
}
- @JsonAlias("pnf-name2")
- public void setPnfName2(String pnfName2) {
- this.pnfName2 = pnfName2;
+ public String getPnfName2Source() {
+ return pnfName2Source;
}
- public String getPnfId() {
- return pnfId;
+ public String getEquipType() {
+ return equipType;
}
- @JsonAlias("pnf-id")
- public void setPnfId(String pnfId) {
- this.pnfId = pnfId;
+ public String getEquipVendor() {
+ return equipVendor;
}
public String getEquipModel() {
return equipModel;
}
- @JsonAlias("equip-model")
- public void setEquipModel(String equipModel) {
- this.equipModel = equipModel;
+ public static class Builder {
+
+ private String pnfId;
+ private String pnfName;
+ private String pnfName2;
+ private String pnfName2Source;
+ private String equipType;
+ private String equipVendor;
+ private String equipModel;
+
+ public Builder withPnfId(String pnfId) {
+ this.pnfId = pnfId;
+ return this;
+ }
+
+ public Builder withPnfName(String pnfName) {
+ this.pnfName = pnfName;
+ return this;
+ }
+
+ public Builder withPnfName2(String pnfName2) {
+ this.pnfName2 = pnfName2;
+ return this;
+ }
+
+ public Builder withPnfName2Source(String pnfName2Source) {
+ this.pnfName2Source = pnfName2Source;
+ return this;
+ }
+
+ public Builder withEquipType(String equipType) {
+ this.equipType = equipType;
+ return this;
+ }
+
+ public Builder withEquipVendor(String equipVendor) {
+ this.equipVendor = equipVendor;
+ return this;
+ }
+
+ public Builder withEquipModel(String equipModel) {
+ this.equipModel = equipModel;
+ return this;
+ }
+
+ public Pnf build() {
+ return new Pnf(pnfId, pnfName, pnfName2, pnfName2Source, equipType, equipVendor, equipModel);
+ }
}
-
- public String getPnfName2Source() { return pnfName2Source; }
-
- @JsonAlias("pnf-name2-source")
- public void setPnfName2Source(String pnfName2Source) { this.pnfName2Source = pnfName2Source; }
}
diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/model/AaiGetPnfs/PnfTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/model/AaiGetPnfs/PnfTest.java
index 2d7d2aad3..7a5d3ad91 100644
--- a/vid-app-common/src/test/java/org/onap/vid/aai/model/AaiGetPnfs/PnfTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/aai/model/AaiGetPnfs/PnfTest.java
@@ -3,13 +3,14 @@
* VID
* ================================================================================
* Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nokia.
* ================================================================================
* 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.
@@ -20,16 +21,30 @@
package org.onap.vid.aai.model.AaiGetPnfs;
-import org.junit.Test;
+import static org.assertj.core.api.Assertions.assertThat;
-import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters;
-import static org.hamcrest.MatcherAssert.assertThat;
+import org.junit.Test;
public class PnfTest {
@Test
- public void shouldHaveValidGettersAndSetters(){
- assertThat(Pnf.class, hasValidGettersAndSetters());
- }
+ public void builder_shouldProperlyConstructObject() {
+ Pnf pnf = Pnf.builder()
+ .withPnfId("pnfId")
+ .withPnfName("TestPnf")
+ .withPnfName2("pnfName2")
+ .withPnfName2Source("pnfNameSource")
+ .withEquipModel("model")
+ .withEquipType("type")
+ .withEquipVendor("vendor")
+ .build();
+ assertThat(pnf.getPnfId()).isEqualTo("pnfId");
+ assertThat(pnf.getPnfName()).isEqualTo("TestPnf");
+ assertThat(pnf.getPnfName2()).isEqualTo("pnfName2");
+ assertThat(pnf.getPnfName2Source()).isEqualTo("pnfNameSource");
+ assertThat(pnf.getEquipModel()).isEqualTo("model");
+ assertThat(pnf.getEquipType()).isEqualTo("type");
+ assertThat(pnf.getEquipVendor()).isEqualTo("vendor");
+ }
}
diff --git a/vid-app-common/src/test/java/org/onap/vid/bl/AaiServiceTest.java b/vid-app-common/src/test/java/org/onap/vid/bl/AaiServiceTest.java
index 1b50681fc..1d4556535 100644
--- a/vid-app-common/src/test/java/org/onap/vid/bl/AaiServiceTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/bl/AaiServiceTest.java
@@ -67,8 +67,7 @@ public class AaiServiceTest {
@Test
public void testGetSpecificPnf(){
- Pnf pnf = new Pnf();
- pnf.setPnfId("11111");
+ Pnf pnf = Pnf.builder().withPnfId("11111").build();
AaiResponse<Pnf> aaiResponse = new AaiResponse<>(pnf, "aaaa", 200);
Mockito.doReturn(aaiResponse).when(aaiClientInterface).getSpecificPnf(Mockito.anyString());
AaiResponse<Pnf> specificPnf = aaiService.getSpecificPnf("1345667");
diff --git a/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java
index 2df28d973..a60aa7ea6 100644
--- a/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/controller/AaiControllerTest.java
@@ -173,7 +173,15 @@ public class AaiControllerTest {
@Test
public void getSpecificPnf_shouldReturnPnfObjectForPnfId() throws Exception {
String pnfId = "MyPnfId";
- Pnf pnf = createPnf(pnfId);
+ Pnf pnf = Pnf.builder()
+ .withPnfId(pnfId)
+ .withPnfName("TestPnf")
+ .withPnfName2("pnfName2")
+ .withPnfName2Source("pnfNameSource")
+ .withEquipModel("model")
+ .withEquipType("type")
+ .withEquipVendor("vendor")
+ .build();
AaiResponse<Pnf> aaiResponse = new AaiResponse<>(pnf, "", HttpStatus.OK.value());
given(aaiService.getSpecificPnf(pnfId)).willReturn(aaiResponse);
@@ -197,13 +205,6 @@ public class AaiControllerTest {
.andExpect(content().string(expectedErrorMessage));
}
- private Pnf createPnf(String pnfId) {
- Pnf pnf = new Pnf();
- pnf.setPnfId(pnfId);
- pnf.setPnfName("TestPnf");
- return pnf;
- }
-
public void getPNFInstances_shouldReturnOKResponseFromAAIService() throws Exception {
String globalCustomerId = "testCustomerId";
String serviceType = "testServiceType";
diff --git a/vid-app-common/src/test/java/org/onap/vid/services/AaiServiceImplTest.java b/vid-app-common/src/test/java/org/onap/vid/services/AaiServiceImplTest.java
index 068cc0053..bb47180e4 100644
--- a/vid-app-common/src/test/java/org/onap/vid/services/AaiServiceImplTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/services/AaiServiceImplTest.java
@@ -213,7 +213,7 @@ public class AaiServiceImplTest {
@Test
public void shouldGetSpecificPnf() {
- AaiResponse<Pnf> expectedResponse = new AaiResponse<>(new Pnf(), null, HttpStatus.SC_OK);
+ AaiResponse<Pnf> expectedResponse = new AaiResponse<>(Pnf.builder().build(), null, HttpStatus.SC_OK);
when(aaiClient.getSpecificPnf(anyString())).thenReturn(expectedResponse);
AaiResponse<Pnf> actualResponse = aaiService.getSpecificPnf(anyString());