use of com.google.copybara.exception.RepoException in project copybara by google.
the class GerritApiTransportImpl method get.
@Override
public <T> T get(String path, Type responseType) throws RepoException, ValidationException {
HttpRequestFactory requestFactory = getHttpRequestFactory(getCredentialsIfPresent(uri.toString()));
GenericUrl url = getUrl(path);
try {
return execute(responseType, requestFactory.buildGetRequest(url));
} catch (IOException e) {
throw new RepoException("Error running Gerrit API operation " + url, e);
}
}
use of com.google.copybara.exception.RepoException in project copybara by google.
the class GerritApiTransportImpl method post.
@Override
public <T> T post(String path, Object request, Type responseType) throws RepoException, ValidationException {
HttpRequestFactory requestFactory = getHttpRequestFactory(getCredentials(uri.toString()));
GenericUrl url = getUrl(path);
try {
return execute(responseType, requestFactory.buildPostRequest(url, new JsonHttpContent(JSON_FACTORY, request)));
} catch (IOException e) {
throw new RepoException("Error running Gerrit API operation " + url, e);
}
}
use of com.google.copybara.exception.RepoException in project copybara by google.
the class GitRepoTypeTest method setup.
@Before
public void setup() throws Exception {
repoGitDir = Files.createTempDirectory("testRepo");
fileRepoDir = Files.createTempDirectory("fileRepo");
// We mock by default to avoid accidental network calls.
testRepo = new GitRepository(repoGitDir, null, /*verbose=*/
true, getGitEnv()) {
@Override
public GitRevision fetchSingleRef(String url, String ref) throws RepoException {
interceptedFetches.add(new String[] { url, ref });
return new GitRevision(this, Strings.repeat("0", 40));
}
};
testRepo.init();
prepareFileRepo();
console = new TestingConsole();
generalOptions = new OptionsBuilder().setConsole(console).build().get(GeneralOptions.class);
}
use of com.google.copybara.exception.RepoException in project copybara by google.
the class GithubPrDestinationTest method setup.
@Before
public void setup() throws Exception {
repoGitDir = Files.createTempDirectory("GithubPrDestinationTest-repoGitDir");
workdir = Files.createTempDirectory("workdir");
localHub = Files.createTempDirectory("localHub");
git("init", "--bare", repoGitDir.toString());
console = new TestingConsole();
options = new OptionsBuilder().setConsole(console).setOutputRootToTmpDir();
options.git = new TestGitOptions(localHub, () -> GithubPrDestinationTest.this.options.general);
options.github = new GithubOptions(() -> options.general, options.git) {
@Override
public GithubApi getApi(String project) throws RepoException {
assertThat(project).isEqualTo(expectedProject);
return super.getApi(project);
}
@Override
protected HttpTransport getHttpTransport() {
return gitApiMockHttpTransport;
}
};
Path credentialsFile = Files.createTempFile("credentials", "test");
Files.write(credentialsFile, "https://user:SECRET@github.com".getBytes(UTF_8));
options.git.credentialHelperStorePath = credentialsFile.toString();
options.gitDestination = new GitDestinationOptions(() -> options.general, options.git);
options.gitDestination.committerEmail = "commiter@email";
options.gitDestination.committerName = "Bara Kopi";
skylark = new SkylarkTestExecutor(options, GitModule.class);
}
use of com.google.copybara.exception.RepoException in project copybara by google.
the class GerritDestinationTest method setup.
@Before
public void setup() throws Exception {
workdir = Files.createTempDirectory("workdir");
console = new TestingConsole();
options = new OptionsBuilder().setConsole(console).setOutputRootToTmpDir();
urlMapper = Files.createTempDirectory("url_mapper");
options.git = new TestGitOptions(urlMapper, () -> options.general);
options.gerrit = new GerritOptions(() -> options.general, options.git) {
@Override
protected GerritApiTransportImpl getGerritApiTransport(URI uri) throws RepoException {
return new GerritApiTransportImpl(repo(), uri, gitApiMockHttpTransport);
}
};
options.gitDestination = new GitDestinationOptions(() -> options.general, options.git);
options.gitDestination.committerEmail = "commiter@email";
options.gitDestination.committerName = "Bara Kopi";
excludedDestinationPaths = ImmutableList.of();
repoGitDir = localGerritRepo("localhost:33333/foo/bar").getGitDir();
url = "https://localhost:33333/foo/bar";
repo().init();
skylark = new SkylarkTestExecutor(options, GitModule.class);
gitApiMockHttpTransport = new GitApiMockHttpTransport() {
@Override
protected byte[] getContent(String method, String url, MockLowLevelHttpRequest request) throws IOException {
if (method.equals("GET") && url.startsWith("https://localhost:33333/changes/")) {
String result = "[" + "{" + " change_id : \"" + changeIdFromRequest(url) + "\"," + " status : \"NEW\"" + "}]";
return result.getBytes(UTF_8);
}
throw new IllegalArgumentException(method + " " + url);
}
};
}
Aggregations