summaryrefslogtreecommitdiffstats
path: root/dcaedt_be/src/test/java/org/onap/sdc/dcae/composition/impl/CompositionCatalogBusinessLogicTest.java
blob: a1b747898fefef483c2e505601ddbe1fdc17deaf (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
package org.onap.sdc.dcae.composition.impl;

import org.json.JSONException;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.onap.sdc.dcae.catalog.asdc.ASDCCatalog;
import org.onap.sdc.dcae.catalog.engine.CatalogController;
import org.onap.sdc.dcae.client.ISdcClient;
import org.onap.sdc.dcae.composition.restmodels.canvas.DcaeComponentCatalog;
import org.onap.sdc.dcae.composition.restmodels.sdc.Resource;
import org.onap.sdc.dcae.composition.util.DcaeBeConstants;
import org.onap.sdc.dcae.errormng.ErrorConfigurationLoader;
import org.onap.sdc.dcae.errormng.ResponseFormat;
import org.springframework.http.ResponseEntity;

import java.util.Arrays;
import java.util.List;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.*;

public class CompositionCatalogBusinessLogicTest {

	private final String REQUEST_ID = "123456";
	private ASDCCatalog asdcCatalog = new ASDCCatalog();

	@Mock
	private CatalogController catalogController;

	@Mock
	private ISdcClient sdcRestClient;

	@InjectMocks
	private CompositionCatalogBusinessLogic compositionCatalogBusinessLogic;

	@Before
	public void init() throws JSONException {
		MockitoAnnotations.initMocks(this);
		when(catalogController.getCatalog()).thenReturn(asdcCatalog);
		new ErrorConfigurationLoader(System.getProperty("user.dir")+"/src/main/webapp/WEB-INF");
		mockCatalog();
	}

	@Test
	public void getCatalogTest() {
		DcaeComponentCatalog catalog = compositionCatalogBusinessLogic.getCatalog(REQUEST_ID);
		assertEquals(1, catalog.getElements().size());
		assertEquals(1, catalog.getElements().get(0).getItems().size());
	}


	@Test
	public void getModelByIdInvalidUuidFailureTest() {
		ResponseEntity result = compositionCatalogBusinessLogic.getModelById(REQUEST_ID, "invalidId");
		assertEquals("Invalid UUID string: invalidId", ((ResponseFormat)result.getBody()).getNotes());
	}

	private void mockCatalog() {
		String subcategory1 = "subcategory1";
		String subcategory2 = "subcategory2";
		List<Resource> resources = Arrays.asList(buildVf(subcategory1, DcaeBeConstants.LifecycleStateEnum.CERTIFIED.name()), buildVf(subcategory1, DcaeBeConstants.LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name()), buildVf(subcategory2, DcaeBeConstants.LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name()));
		when(sdcRestClient.getResources(anyString(), anyString(), eq(null), anyString())).thenReturn(resources);
	}

	private Resource buildVf(String subcategory, String lifecycleState) {
		Resource vf = new Resource();
		vf.setLifecycleState(lifecycleState);
		vf.setSubCategory(subcategory);
		return vf;
	}
}