import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
 
 
+@AllArgsConstructor
 public enum ArtifactCategory {
 
   INFORMATIONAL("Informational"),
 
   private static final Map<String, ArtifactCategory> mMap =
       Collections.unmodifiableMap(initializeMapping());
-  private String displayName;
 
-  ArtifactCategory(String displayName) {
-    this.displayName = displayName;
-  }
+  @Getter
+  private String displayName;
 
   /**
    * Initialize mapping map.
     }
     return null;
   }
-
-  /**
-   * Gets display name.
-   *
-   * @return the display name
-   */
-  public String getDisplayName() {
-    return displayName;
-  }
-
-
 }
 
--- /dev/null
+/*
+ * Copyright © 2020 Samsung
+ *
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openecomp.core.enrichment.types;
+
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import org.junit.Test;
+
+public class ArtifactCategoryTest {
+    public static final String DISPLAY_NAME_INFO = "Informational";
+    public static final String DISPLAY_NAME_DEPL = "Deployment";
+    public static final String DISPLAY_NAME_NON_EXIST = "NonExistentName";
+
+    @Test
+    public void testCtor() {
+        ArtifactCategory artifactCategoryInf = ArtifactCategory.INFORMATIONAL;
+        ArtifactCategory artifactCategoryDepl = ArtifactCategory.DEPLOYMENT;
+
+        assertThat(artifactCategoryInf.getDisplayName(), is(DISPLAY_NAME_INFO));
+        assertThat(artifactCategoryDepl.getDisplayName(), is(DISPLAY_NAME_DEPL));
+    }
+
+    @Test
+    public void testGetArtifactTypeByDisplayName() {
+        ArtifactCategory result = ArtifactCategory.getArtifactTypeByDisplayName(DISPLAY_NAME_INFO);
+        assertThat(result, is(ArtifactCategory.INFORMATIONAL));
+    }
+
+    @Test
+    public void testGetArtifactTypeByDisplayNameNonExistentName() {
+        ArtifactCategory result = ArtifactCategory.getArtifactTypeByDisplayName(DISPLAY_NAME_NON_EXIST);
+        assertThat(result, nullValue());
+    }
+
+    @Test
+    public void testGetArtifactTypeByDisplayNameNullName() {
+        ArtifactCategory result = ArtifactCategory.getArtifactTypeByDisplayName(null);
+        assertThat(result, nullValue());
+    }
+}
\ No newline at end of file
 
--- /dev/null
+/*
+ * Copyright © 2020 Samsung
+ *
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openecomp.core.enrichment.types;
+
+import static org.hamcrest.CoreMatchers.isA;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.HashMap;
+import java.util.Map;
+import mockit.Deencapsulation;
+import org.junit.Test;
+
+public class ComponentMonitoringUploadInfoTest {
+
+    @Test
+    public void testGetSnmpTrap() {
+        ComponentMonitoringUploadInfo uploadInfo = new ComponentMonitoringUploadInfo();
+        setInternals(uploadInfo);
+
+        assertThat(uploadInfo.getSnmpTrap(), isA(MonitoringArtifactInfo.class));
+    }
+
+    @Test
+    public void testGetSnmpPoll() {
+        ComponentMonitoringUploadInfo uploadInfo = new ComponentMonitoringUploadInfo();
+        setInternals(uploadInfo);
+
+        assertThat(uploadInfo.getSnmpPoll(), isA(MonitoringArtifactInfo.class));
+    }
+
+    @Test
+    public void testGetVesEvent() {
+        ComponentMonitoringUploadInfo uploadInfo = new ComponentMonitoringUploadInfo();
+        setInternals(uploadInfo);
+
+        assertThat(uploadInfo.getVesEvent(), isA(MonitoringArtifactInfo.class));
+    }
+
+    @Test
+    public void testSetMonitoringArtifactFile() {
+        ComponentMonitoringUploadInfo uploadInfo = new ComponentMonitoringUploadInfo();
+
+        uploadInfo.setMonitoringArtifactFile(MonitoringUploadType.SNMP_POLL, new MonitoringArtifactInfo());
+
+        assertThat(getInternal(uploadInfo).containsKey(MonitoringUploadType.SNMP_POLL), is(true));
+    }
+
+    private Map<MonitoringUploadType, MonitoringArtifactInfo> getInternal(ComponentMonitoringUploadInfo componentMonitoringUploadInfo) {
+        return Deencapsulation.getField(componentMonitoringUploadInfo, "infoByType");
+    }
+
+    private void setInternals(ComponentMonitoringUploadInfo componentMonitoringUploadInfo) {
+        Map<MonitoringUploadType, MonitoringArtifactInfo> infoMap = new HashMap<>();
+        infoMap.put(MonitoringUploadType.SNMP_POLL, new MonitoringArtifactInfo());
+        infoMap.put(MonitoringUploadType.SNMP_TRAP, new MonitoringArtifactInfo());
+        infoMap.put(MonitoringUploadType.VES_EVENTS, new MonitoringArtifactInfo());
+        Deencapsulation.setField(componentMonitoringUploadInfo, "infoByType", infoMap);
+    }
+}
\ No newline at end of file