throws Exception
{
RepositoryResourceResponse repoRequest = new RepositoryResourceResponse();
RepositoryProxyResource repositoryResource = new RepositoryProxyResource();
repoRequest.setData(repositoryResource);
repositoryResource.setId("test-id");
repositoryResource.setWritePolicy(RepositoryWritePolicy.ALLOW_WRITE.name());
repositoryResource.setArtifactMaxAge(2);
repositoryResource.setBrowseable(true);
repositoryResource.setChecksumPolicy(ChecksumPolicy.STRICT.name());
repositoryResource.setDownloadRemoteIndexes(true);
repositoryResource.setExposed(true);
repositoryResource.setFormat("maven2");
repositoryResource.setIndexable(false);
repositoryResource.setMetadataMaxAge(23);
repositoryResource.setItemMaxAge(234);
repositoryResource.setName("test-name");
repositoryResource.setNotFoundCacheTTL(11);
repositoryResource.setProvider("maven2");
repositoryResource.setProviderRole(Repository.class.getName());
repositoryResource.setRepoPolicy(RepositoryPolicy.RELEASE.name());
repositoryResource.setRepoType("proxy");
RepositoryResourceRemoteStorage remoteStorage = new RepositoryResourceRemoteStorage();
repositoryResource.setRemoteStorage(remoteStorage);
remoteStorage.setRemoteStorageUrl("http://foo.com");
AuthenticationSettings authSettings = new AuthenticationSettings();
remoteStorage.setAuthentication(authSettings);
authSettings.setNtlmDomain("ntlmDomain");
authSettings.setNtlmHost("ntlmHost");
authSettings.setPassword("password");
authSettings.setUsername("username");
RepositoryListPlexusResource plexusResource =
(RepositoryListPlexusResource) this.lookup(PlexusResource.class, RepositoryListPlexusResource.class.getName());
Request request = buildRequest();
Response response = new Response(request);
RepositoryResourceResponse repoResponse =
(RepositoryResourceResponse) plexusResource.post(null, request, response, repoRequest);
RepositoryProxyResource result = (RepositoryProxyResource) repoResponse.getData();
// now do an update and test again
RepositoryPlexusResource updateResource =
(RepositoryPlexusResource) this.lookup(PlexusResource.class, RepositoryPlexusResource.class.getName());
request.getAttributes().put(AbstractRepositoryPlexusResource.REPOSITORY_ID_KEY, result.getId());
repoResponse = (RepositoryResourceResponse) updateResource.put(null, request, response, repoResponse);
result = (RepositoryProxyResource) repoResponse.getData();
// NEXUS-1994 override local storage should be null
Assert.assertNull(result.getOverrideLocalStorageUrl());
Assert.assertTrue(StringUtils.isNotEmpty(result.getDefaultLocalStorageUrl()));
}