[ONOS-3634] Enhance app to have a category, icon, URL and readme

This commmit enhances application to have category, icon, URL and
readme. The web GUI and CLI will be implemented in separate commits

Change-Id: Ib02716d7118cc617b24f196f2213ea1fe99a34be
diff --git a/core/api/src/test/java/org/onosproject/app/DefaultApplicationDescriptionTest.java b/core/api/src/test/java/org/onosproject/app/DefaultApplicationDescriptionTest.java
index 0e93c1f..e01d4d8 100644
--- a/core/api/src/test/java/org/onosproject/app/DefaultApplicationDescriptionTest.java
+++ b/core/api/src/test/java/org/onosproject/app/DefaultApplicationDescriptionTest.java
@@ -40,6 +40,10 @@
     public static final Version VER = Version.version(1, 2, "a", null);
     public static final String DESC = "Awesome application from Circus, Inc.";
     public static final String ORIGIN = "Circus";
+    public static final String CATEGORY = "other";
+    public static final String URL = "http://www.onosproject.org";
+    public static final String README = "Awesome application from Circus, Inc.";
+    public static final byte[] ICON = new byte[] {};
     public static final ApplicationRole ROLE = ApplicationRole.ADMIN;
     public static final Set<Permission> PERMS = ImmutableSet.of(
                             new Permission(AppPermission.class.getName(), "FLOWRULE_WRITE"),
@@ -52,17 +56,20 @@
     public void basics() {
         ApplicationDescription app =
                 new DefaultApplicationDescription(APP_NAME, VER, DESC, ORIGIN,
+                                                  CATEGORY, URL, README, ICON,
                                                   ROLE, PERMS, FURL, FEATURES, APPS);
         assertEquals("incorrect id", APP_NAME, app.name());
         assertEquals("incorrect version", VER, app.version());
         assertEquals("incorrect description", DESC, app.description());
         assertEquals("incorrect origin", ORIGIN, app.origin());
-        assertEquals("incorect role", ROLE, app.role());
+        assertEquals("incorrect category", CATEGORY, app.category());
+        assertEquals("incorrect URL", URL, app.url());
+        assertEquals("incorrect readme", README, app.readme());
+        assertEquals("incorrect role", ROLE, app.role());
         assertEquals("incorrect permissions", PERMS, app.permissions());
         assertEquals("incorrect features repo", FURL, app.featuresRepo().get());
         assertEquals("incorrect features", FEATURES, app.features());
         assertEquals("incorrect apps", APPS, app.requiredApps());
         assertTrue("incorrect toString", app.toString().contains(APP_NAME));
     }
-
 }
\ No newline at end of file