@Override public void handlePost(Operation post) { // Configuration states documents initInstances(Operation.createGet(null), false, false, ConfigurationService.getConfigurationProperties()); // Other documents List<ServiceDocument> resources = new ArrayList<>(); resources.add(ResourceNamePrefixService.buildDefaultStateInstance()); resources.add(buildUniqueProjectNamesInstance()); resources.add(buildUniqueProjectIndexesInstance()); ServiceDocument defaultRegistryState = RegistryService.buildDefaultStateInstance(getHost()); if (defaultRegistryState != null) { resources.add(defaultRegistryState); } initInstances(post, resources.toArray(new ServiceDocument[resources.size()])); }
@Test public void testDeleteDefaultRegistryOnStartup() throws Throwable { RegistryState registryState = new RegistryState(); registryState.documentSelfLink = RegistryService.DEFAULT_INSTANCE_LINK; registryState.endpointType = RegistryState.DOCKER_REGISTRY_ENDPOINT_TYPE; registryState.address = RegistryService.DEFAULT_REGISTRY_ADDRESS; registryState = doPost(registryState, RegistryFactoryService.SELF_LINK); assertNotNull("Failed to create default registry", registryState); ConfigurationState config = new ConfigurationState(); config.key = RegistryService.DISABLE_DEFAULT_REGISTRY_PROP_NAME; config.value = Boolean.toString(true); ConfigurationUtil.initialize(config); RegistryService.buildDefaultStateInstance(host); waitFor("Ensure default registry is deleted.", () -> { List<String> resourceLinks = findResourceLinks(RegistryState.class, Collections.singletonList(RegistryService.DEFAULT_INSTANCE_LINK)); return resourceLinks.size() == 0; }); } }