@Test
public void testHealthConfigIdempotentPost() throws Throwable {
String id = UUID.randomUUID().toString();
ContainerDescription containerDesc = createContainerDescription();
containerDesc.documentSelfLink = ContainerDescriptionService.FACTORY_LINK + "/" + id;
containerDesc = doPost(containerDesc, ContainerDescriptionService.FACTORY_LINK);
ContainerDescription putConfig = createContainerDescription();
putConfig.documentSelfLink = ContainerDescriptionService.FACTORY_LINK + "/" + id;
putConfig.healthConfig.urlPath = "/ping1";
doOperation(putConfig, UriUtils.buildUri(host, putConfig.documentSelfLink),
false,
Action.PUT);
containerDesc = getDocument(ContainerDescription.class, containerDesc.documentSelfLink);
assertEquals(putConfig.healthConfig.urlPath, containerDesc.healthConfig.urlPath);
putConfig = createContainerDescription();
putConfig.documentSelfLink = ContainerDescriptionService.FACTORY_LINK + "/" + id;
putConfig.healthConfig.urlPath = "/ping2";
containerDesc = doPost(putConfig, ContainerDescriptionService.FACTORY_LINK);
containerDesc = getDocument(ContainerDescription.class, containerDesc.documentSelfLink);
assertEquals(putConfig.healthConfig.urlPath, containerDesc.healthConfig.urlPath);
delete(containerDesc.documentSelfLink);
putConfig = createContainerDescription();
putConfig.documentSelfLink = ContainerDescriptionService.FACTORY_LINK + "/" + id;
putConfig.healthConfig.urlPath = "/ping3";
containerDesc = doPost(putConfig, ContainerDescriptionService.FACTORY_LINK);
containerDesc = getDocument(ContainerDescription.class, containerDesc.documentSelfLink);
assertEquals(putConfig.healthConfig.urlPath, containerDesc.healthConfig.urlPath);
}