2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (c) 2017-2019 AT&T Intellectual Property. All rights reserved.
6 * Copyright (c) 2017-2019 European Software Marketing Ltd.
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
22 package org.onap.aai.babel.xml.generator.model;
24 import static org.hamcrest.CoreMatchers.is;
25 import static org.junit.Assert.assertThat;
27 import java.io.IOException;
28 import java.util.Collections;
29 import org.junit.BeforeClass;
30 import org.junit.Test;
31 import org.onap.aai.babel.util.ArtifactTestUtils;
32 import org.onap.aai.babel.xml.generator.XmlArtifactGenerationException;
33 import org.onap.aai.babel.xml.generator.model.Widget.Type;
34 import org.onap.aai.babel.xml.generator.types.ModelType;
37 * Direct tests of the Widget class for code coverage.
39 public class TestWidget {
42 * Load the Widget Configuration, including the type mappings and the UUID mappings.
45 * if the mappings configuration cannot be loaded
48 public static void setup() throws IOException {
49 ArtifactTestUtils util = new ArtifactTestUtils();
50 util.loadWidgetToUuidMappings();
51 util.loadWidgetMappings();
55 public void testGetWidgets() throws XmlArtifactGenerationException {
56 Widget widget = Widget.getWidget(Type.SERVICE);
57 assertThat(widget.getType(), is(ModelType.WIDGET));
58 assertThat(widget.getName(), is("service-instance"));
59 assertThat(widget.getDeleteFlag(), is(true));
61 widget = Widget.getWidget(Type.VF);
62 assertThat(widget.getType(), is(ModelType.WIDGET));
63 assertThat(widget.getName(), is("generic-vnf"));
64 assertThat(widget.getDeleteFlag(), is(false));
66 widget = Widget.getWidget(Type.VFC);
67 assertThat(widget.getType(), is(ModelType.WIDGET));
68 assertThat(widget.getName(), is("vnfc"));
69 assertThat(widget.getDeleteFlag(), is(true));
71 widget = Widget.getWidget(Type.VSERVER);
72 assertThat(widget.getType(), is(ModelType.WIDGET));
73 assertThat(widget.getName(), is("vserver"));
74 assertThat(widget.getDeleteFlag(), is(true));
76 widget = Widget.getWidget(Type.VOLUME);
77 assertThat(widget.getType(), is(ModelType.WIDGET));
78 assertThat(widget.getName(), is("volume"));
79 assertThat(widget.getDeleteFlag(), is(true));
81 widget = Widget.getWidget(Type.FLAVOR);
82 assertThat(widget.getType(), is(ModelType.WIDGET));
83 assertThat(widget.getName(), is("flavor"));
84 assertThat(widget.getDeleteFlag(), is(false));
86 widget = Widget.getWidget(Type.TENANT);
87 assertThat(widget.getType(), is(ModelType.WIDGET));
88 assertThat(widget.getName(), is("tenant"));
89 assertThat(widget.getDeleteFlag(), is(false));
91 widget = Widget.getWidget(Type.VOLUME_GROUP);
92 assertThat(widget.getType(), is(ModelType.WIDGET));
93 assertThat(widget.getName(), is("volume-group"));
94 assertThat(widget.getDeleteFlag(), is(true));
96 widget = Widget.getWidget(Type.LINT);
97 assertThat(widget.getType(), is(ModelType.WIDGET));
98 assertThat(widget.getName(), is("l-interface"));
99 assertThat(widget.getDeleteFlag(), is(true));
101 widget = Widget.getWidget(Type.L3_NET);
102 assertThat(widget.getType(), is(ModelType.WIDGET));
103 assertThat(widget.getName(), is("l3-network"));
104 assertThat(widget.getDeleteFlag(), is(true));
106 widget = Widget.getWidget(Type.VFMODULE);
107 assertThat(widget.getType(), is(ModelType.WIDGET));
108 assertThat(widget.getName(), is("vf-module"));
109 assertThat(widget.getDeleteFlag(), is(true));
111 widget = Widget.getWidget(Type.IMAGE);
112 assertThat(widget.getType(), is(ModelType.WIDGET));
113 assertThat(widget.getName(), is("image"));
114 assertThat(widget.getDeleteFlag(), is(false));
116 widget = Widget.getWidget(Type.OAM_NETWORK);
117 assertThat(widget.getType(), is(ModelType.WIDGET));
118 assertThat(widget.getName(), is("oam-network"));
119 assertThat(widget.getDeleteFlag(), is(true));
121 widget = Widget.getWidget(Type.ALLOTTED_RESOURCE);
122 assertThat(widget.getType(), is(ModelType.WIDGET));
123 assertThat(widget.getName(), is("allotted-resource"));
124 assertThat(widget.getDeleteFlag(), is(true));
126 widget = Widget.getWidget(Type.TUNNEL_XCONNECT);
127 assertThat(widget.getType(), is(ModelType.WIDGET));
128 assertThat(widget.getName(), is("tunnel-xconnect"));
129 assertThat(widget.getDeleteFlag(), is(true));
131 widget = Widget.getWidget(Type.CONFIGURATION);
132 assertThat(widget.getType(), is(ModelType.WIDGET));
133 assertThat(widget.getName(), is("configuration"));
134 assertThat(widget.getDeleteFlag(), is(true));
138 public void testWidgetMethods() throws XmlArtifactGenerationException {
139 Widget widget = new Widget(Type.SERVICE, "service-instance", true);
140 assertThat(widget.getType(), is(ModelType.WIDGET));
141 assertThat(widget.getWidgetId(), is("service-instance-invariant-id"));
142 assertThat(widget.addWidget(Widget.getWidget(Type.TENANT)), is(true));
143 assertThat(widget.memberOf(null), is(false));
144 assertThat(widget.memberOf(Collections.emptyList()), is(false));
147 @Test(expected = org.onap.aai.babel.xml.generator.error.IllegalAccessException.class)
148 public void testAddResourceIsUnsupported() throws XmlArtifactGenerationException {
149 Widget.getWidget(Type.OAM_NETWORK).addResource(null);