Described testPageDescribed = testPage.adapt(Described.class);
assertEquals("test_title", testPageDescribed.getName());
assertEquals(null, testPageDescribed.getDescription());
//
Attributes testPageAttrs = testPage.getAttributes();
assertEquals("test_factory_id", testPageAttrs.getString("factory-id"));
assertEquals(true, (boolean)testPageAttrs.getBoolean("show-max-window"));
//
UIContainer c = testPage.getRootComponent();
assertNotNull(c);
assertEquals(2, c.getComponents().size());
Iterator<? extends UIComponent> it = c.getComponents().iterator();
//
UIContainer container1 = (UIContainer)it.next();
assertTrue(container1.isAdapted(ProtectedResource.class));
ProtectedResource container1PR = container1.adapt(ProtectedResource.class);
assertEquals(Collections.singletonList("container_1_access_permissions"), container1PR.getAccessPermissions());
Described container1Described = container1.adapt(Described.class);
assertEquals("container_1_title", container1Described.getName());
assertEquals("container_1_description", container1Described.getDescription());
Attributes container1Attrs = container1.getAttributes();
assertEquals("container_1", container1Attrs.getString("name"));
assertEquals("container_1_icon", container1Attrs.getString("icon"));
assertEquals("container_1_template", container1Attrs.getString("template"));
assertEquals("container_1_factory_id", container1Attrs.getString("factory-id"));
assertEquals("container_1_width", container1Attrs.getString("width"));
assertEquals("container_1_height", container1Attrs.getString("height"));
//
UIWindow application1 = (UIWindow)it.next();
assertTrue(application1.isAdapted(ProtectedResource.class));
ProtectedResource application1PR = application1.adapt(ProtectedResource.class);
assertEquals(Collections.singletonList("application_1_access_permissions"), application1PR.getAccessPermissions());
Described application1Described = application1.adapt(Described.class);
assertEquals("application_1_title", application1Described.getName());
assertEquals("application_1_description", application1Described.getDescription());
Attributes application1Attrs = application1.getAttributes();
assertEquals("application_1_theme", application1Attrs.getString("theme"));
assertEquals(true, (boolean)application1Attrs.getBoolean("showinfobar"));
assertEquals(true, (boolean)application1Attrs.getBoolean("showmode"));
assertEquals(true, (boolean)application1Attrs.getBoolean("showwindowstate"));
assertEquals("application_1_icon", application1Attrs.getString("icon"));
assertEquals("application_1_width", application1Attrs.getString("width"));
assertEquals("application_1_height", application1Attrs.getString("height"));
assertEquals("application_1_prop_value", application1Attrs.getString("prop_key"));
//
Customization<?> customization = application1.getCustomization();
assertNotNull(customization);
assertEquals("application/portlet", customization.getType().getMimeType());