You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2019/02/05 18:18:54 UTC
[ignite-teamcity-bot] branch master updated: Tests fix after
aliases implementation; code style changes
This is an automated email from the ASF dual-hosted git repository.
dpavlov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git
The following commit(s) were added to refs/heads/master by this push:
new af575d5 Tests fix after aliases implementation; code style changes
af575d5 is described below
commit af575d5a4e5fd8d3703c07f5650ed635ec70270e
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Tue Feb 5 21:18:51 2019 +0300
Tests fix after aliases implementation; code style changes
---
.../java/org/apache/ignite/ci/HelperConfig.java | 3 +-
.../apache/ignite/ci/IgniteTeamcityConnection.java | 23 +++++---
.../apache/ignite/ci/jira/ignited/JiraIgnited.java | 10 ++--
.../ignite/ci/jira/pure/IJiraIntegration.java | 7 ---
.../java/org/apache/ignite/ci/jira/pure/Jira.java | 5 --
.../ignite/ci/tcbot/chain/PrChainsProcessor.java | 39 ++++++-------
.../ignite/ci/tcbot/conf/IJiraServerConfig.java | 12 ++--
.../ignite/ci/tcbot/conf/ITcServerConfig.java | 8 ++-
.../ignite/ci/tcbot/conf/JiraServerConfig.java | 3 +-
.../ignite/ci/tcbot/conf/TcServerConfig.java | 28 +++++++--
.../model/current/ChainAtServerCurrentStatus.java | 8 +--
.../ignite/ci/web/model/current/UpdateInfo.java | 5 +-
.../ci/tcbot/chain/MockBasedTcBotModule.java | 67 +++++++++++++++-------
.../ignited/IgnitedTcInMemoryIntegrationTest.java | 21 +++++--
.../ci/teamcity/pure/BuildHistoryEmulator.java | 16 +++---
15 files changed, 154 insertions(+), 101 deletions(-)
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/HelperConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/HelperConfig.java
index b1e4c85..f828c57 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/HelperConfig.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/HelperConfig.java
@@ -224,8 +224,7 @@ public class HelperConfig {
}
}
- @NotNull static File resolveLogs(File workDir, Properties props) {
- final String logsProp = props.getProperty(LOGS, "logs");
+ @NotNull static File resolveLogs(File workDir, String logsProp) {
final File logsDirFileConfigured = new File(logsProp);
return logsDirFileConfigured.isAbsolute() ? logsDirFileConfigured : new File(workDir, logsProp);
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java
index 241d5d0..7e1cba0 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java
@@ -121,20 +121,25 @@ public class IgniteTeamcityConnection implements ITeamcity {
this.host = tcCfg.host();
- try {
- if (!Strings.isNullOrEmpty(props.getProperty(HelperConfig.USERNAME))
+ if (props != null) {
+ try {
+ if (!Strings.isNullOrEmpty(props.getProperty(HelperConfig.USERNAME))
&& props.getProperty(HelperConfig.ENCODED_PASSWORD) != null)
- setAuthToken(HelperConfig.prepareBasicHttpAuthToken(props, "TC Config"));
- } catch (Exception e) {
- e.printStackTrace();
- logger.error("Failed to set credentials", e);
+ setAuthToken(HelperConfig.prepareBasicHttpAuthToken(props, "TC Config"));
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ logger.error("Failed to set credentials", e);
+ }
}
- final File workDir = HelperConfig.resolveWorkDir();
- final File logsDirFile = HelperConfig.resolveLogs(workDir, props);
+
+ final File logsDirFile = HelperConfig.resolveLogs(
+ HelperConfig.resolveWorkDir(),
+ tcCfg.logsDirectory());
logsDir = ensureDirExist(logsDirFile);
- this.executor = MoreExecutors.directExecutor();
+ this.executor = MoreExecutors.directExecutor();
}
/** {@inheritDoc} */
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnited.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnited.java
index fd3d7b9..d02c385 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnited.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnited.java
@@ -37,8 +37,8 @@ class JiraIgnited implements IJiraIgnited {
/** Jira ticket Sync. */
@Inject private JiraTicketSync jiraTicketSync;
- /** Server id. */
- private String srvId;
+ /** Server internal ID to bind services. */
+ private String srvCode;
/** Server id mask high. */
private int srvIdMaskHigh;
@@ -49,9 +49,9 @@ class JiraIgnited implements IJiraIgnited {
public void init(IJiraIntegration jira) {
this.jira = jira;
- srvId = jira.getServiceId();
+ srvCode = jira.config().getCode();
- srvIdMaskHigh = ITeamcityIgnited.serverIdToInt(srvId);
+ srvIdMaskHigh = ITeamcityIgnited.serverIdToInt(srvCode);
jiraTicketDao.init();
}
@@ -59,7 +59,7 @@ class JiraIgnited implements IJiraIgnited {
/** {@inheritDoc} */
@Override public Set<Ticket> getTickets() {
- jiraTicketSync.ensureActualizeJiraTickets(srvId);
+ jiraTicketSync.ensureActualizeJiraTickets(srvCode);
return jiraTicketDao.getTickets(srvIdMaskHigh, jira.config().projectCodeForVisa());
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java
index 210478f..1af7fdc 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java
@@ -20,24 +20,17 @@ package org.apache.ignite.ci.jira.pure;
import java.io.IOException;
import org.apache.ignite.ci.jira.Tickets;
import org.apache.ignite.ci.tcbot.conf.IJiraServerConfig;
-import org.jetbrains.annotations.NotNull;
/**
* Reperesents methods to provide interaction with Jira servers.
*/
public interface IJiraIntegration {
-
/**
* @return Internal identified service ID.
*/
public void init(String srvId);
/**
- * @return Internal identified service ID.
- */
- public String getServiceId();
-
- /**
* @param ticket JIRA ticket full name. E.g 'IGNITE-5555'.
* @param comment Comment to be placed in the ticket conversation.
* @return {@code True} if ticket was succesfully commented. Otherwise - {@code false}.
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/Jira.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/Jira.java
index f43ea72..33f9d8d 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/Jira.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/Jira.java
@@ -124,9 +124,4 @@ class Jira implements IJiraIntegration {
public String sendGetToJira(String url) throws IOException {
return HttpUtil.sendGetToJira(config().decodedHttpAuthToken(), restApiUrl() + url);
}
-
- /** {@inheritDoc} */
- @Override public String getServiceId() {
- return srvId;
- }
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
index adf2508..a471107 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
@@ -19,26 +19,29 @@ package org.apache.ignite.ci.tcbot.chain;
import com.google.common.base.Strings;
import java.util.ArrayList;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+import javax.inject.Inject;
import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
+import org.apache.ignite.ci.ITeamcity;
+import org.apache.ignite.ci.analysis.FullChainRunCtx;
import org.apache.ignite.ci.analysis.MultBuildRunCtx;
+import org.apache.ignite.ci.analysis.mode.LatestRebuildMode;
+import org.apache.ignite.ci.analysis.mode.ProcessLogsMode;
+import org.apache.ignite.ci.di.AutoProfiling;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnited;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnitedProvider;
-import org.apache.ignite.ci.jira.pure.IJiraIntegration;
-import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
+import org.apache.ignite.ci.github.pure.IGitHubConnection;
+import org.apache.ignite.ci.github.pure.IGitHubConnectionProvider;
+import org.apache.ignite.ci.jira.ignited.IJiraIgnited;
+import org.apache.ignite.ci.jira.ignited.IJiraIgnitedProvider;
import org.apache.ignite.ci.tcbot.visa.BranchTicketMatcher;
import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence;
import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
import org.apache.ignite.ci.teamcity.ignited.SyncMode;
import org.apache.ignite.ci.teamcity.restcached.ITcServerProvider;
-import org.apache.ignite.ci.ITeamcity;
-import org.apache.ignite.ci.analysis.FullChainRunCtx;
-import org.apache.ignite.ci.analysis.mode.LatestRebuildMode;
-import org.apache.ignite.ci.analysis.mode.ProcessLogsMode;
-import org.apache.ignite.ci.di.AutoProfiling;
-import org.apache.ignite.ci.github.pure.IGitHubConnection;
-import org.apache.ignite.ci.github.pure.IGitHubConnectionProvider;
import org.apache.ignite.ci.user.ICredentialsProv;
import org.apache.ignite.ci.web.model.current.ChainAtServerCurrentStatus;
import org.apache.ignite.ci.web.model.current.SuiteCurrentStatus;
@@ -47,31 +50,27 @@ import org.apache.ignite.ci.web.model.current.TestFailuresSummary;
import org.apache.ignite.ci.web.rest.parms.FullQueryParams;
import org.jetbrains.annotations.Nullable;
-import javax.inject.Inject;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
-
/**
* Process pull request/untracked branch chain at particular server.
*/
public class PrChainsProcessor {
/** Build chain processor. */
- @Inject BuildChainProcessor buildChainProcessor;
+ @Inject private BuildChainProcessor buildChainProcessor;
/** Tc server provider. */
- @Inject ITcServerProvider tcSrvProvider;
+ @Inject private ITcServerProvider tcSrvProvider;
/** Tc server provider. */
- @Inject ITeamcityIgnitedProvider tcIgnitedProvider;
+ @Inject private ITeamcityIgnitedProvider tcIgnitedProvider;
/** Git hub connection provider. */
- @Inject IGitHubConnectionProvider gitHubConnProvider;
+ @Inject private IGitHubConnectionProvider gitHubConnProvider;
/** */
- @Inject IGitHubConnIgnitedProvider gitHubConnIgnitedProvider;
+ @Inject private IGitHubConnIgnitedProvider gitHubConnIgnitedProvider;
/** */
- @Inject IJiraIntegrationProvider jiraIntegrationProvider;
+ @Inject private IJiraIgnitedProvider jiraIgnProv;
@Inject private BranchTicketMatcher ticketMatcher;
@@ -109,7 +108,7 @@ public class PrChainsProcessor {
IGitHubConnIgnited gitHubConnIgnited = gitHubConnIgnitedProvider.server(srvId);
- IJiraIntegration jiraIntegration = jiraIntegrationProvider.server(srvId);
+ IJiraIgnited jiraIntegration = jiraIgnProv.server(srvId);
res.setJavaFlags(teamcity, gitHubConn, jiraIntegration);
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/IJiraServerConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/IJiraServerConfig.java
index 7e87a88..a48b0f8 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/IJiraServerConfig.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/IJiraServerConfig.java
@@ -24,6 +24,11 @@ import org.jetbrains.annotations.Nullable;
*/
public interface IJiraServerConfig {
/**
+ * @return Service ID or server code, internally identified, any string configured.
+ */
+ public String getCode();
+
+ /**
* Return JIRA URL, e.g. https://issues.apache.org/jira/
*/
public String getUrl();
@@ -36,11 +41,9 @@ public interface IJiraServerConfig {
/**
* @return PR name and branch name matching number prefix
*/
- @Nullable
- public String branchNumPrefix();
+ @Nullable public String branchNumPrefix();
- @Nullable
- public String decodedHttpAuthToken();
+ @Nullable public String decodedHttpAuthToken();
/**
* @return {@code True} if JIRA authorization token is available.
@@ -48,4 +51,5 @@ public interface IJiraServerConfig {
public default boolean isJiraTokenAvailable() {
return !Strings.isNullOrEmpty(decodedHttpAuthToken());
}
+
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java
index 36243fb..8f65ee8 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java
@@ -17,6 +17,8 @@
package org.apache.ignite.ci.tcbot.conf;
import java.util.Properties;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
/**
* Teamcity Server configuration.
@@ -28,7 +30,9 @@ public interface ITcServerConfig {
/**
* @return Another TC Server (service) config name to use settings from. Filled only for server aliases.
*/
- public String reference();
+ @Nullable public String reference();
- public String host();
+ @NotNull public String host();
+
+ @NotNull public String logsDirectory();
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/JiraServerConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/JiraServerConfig.java
index 66a457a..d67cdc0 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/JiraServerConfig.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/JiraServerConfig.java
@@ -76,7 +76,8 @@ public class JiraServerConfig implements IJiraServerConfig {
this.props = props;
}
- public String getCode() {
+ /** {@inheritDoc} */
+ @Override public String getCode() {
return code;
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java
index 1386395..81ceea2 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java
@@ -41,6 +41,9 @@ public class TcServerConfig implements ITcServerConfig {
/** Host. */
@Nullable private String host;
+ /** Downloaded build logs relative path. */
+ @Nullable private String logsDir;
+
public TcServerConfig() {
}
@@ -74,18 +77,31 @@ public class TcServerConfig implements ITcServerConfig {
return hostConf + (hostConf.endsWith("/") ? "" : "/");
}
+ /** {@inheritDoc} */
+ @Override public String logsDirectory() {
+ String dfltLogs = (Strings.isNullOrEmpty(getCode()) ? "" : code + "_") + "logs";
+
+ if (!Strings.isNullOrEmpty(logsDir))
+ return logsDir;
+
+ return props != null
+ ? props.getProperty(HelperConfig.LOGS, dfltLogs)
+ : dfltLogs;
+
+ }
+
/**
* Configured value for host.
*/
@NotNull
private String hostConfigured() {
- if (Strings.isNullOrEmpty(host)) {
- return props != null
- ? props.getProperty(HelperConfig.HOST, DEFAULT_HOST)
- : DEFAULT_HOST;
- }
+ if (!Strings.isNullOrEmpty(host))
+ return host;
+
+ return props != null
+ ? props.getProperty(HelperConfig.HOST, DEFAULT_HOST)
+ : DEFAULT_HOST;
- return host;
}
/**
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
index 9ffcf73..39567a8 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
@@ -32,6 +32,7 @@ import org.apache.ignite.ci.analysis.MultBuildRunCtx;
import org.apache.ignite.ci.github.PullRequest;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnited;
import org.apache.ignite.ci.github.pure.IGitHubConnection;
+import org.apache.ignite.ci.jira.ignited.IJiraIgnited;
import org.apache.ignite.ci.jira.pure.IJiraIntegration;
import org.apache.ignite.ci.tcbot.visa.BranchTicketMatcher;
import org.apache.ignite.ci.tcmodel.conf.BuildType;
@@ -122,13 +123,13 @@ public class ChainAtServerCurrentStatus {
/** */
public void initJiraAndGitInfo(BranchTicketMatcher ticketMatcher,
- IJiraIntegration jiraIntegration,
+ IJiraIgnited jiraIntegration,
IGitHubConnIgnited gitHubConnIgnited) {
String ticketFullName = null;
try {
ticketFullName = ticketMatcher
- .resolveTicketFromBranch(jiraIntegration.getServiceId(),
+ .resolveTicketFromBranch(jiraIntegration.config().getCode(),
null,
branchName);
} catch (BranchTicketMatcher.TicketNotFoundException ignore) {
@@ -142,9 +143,8 @@ public class ChainAtServerCurrentStatus {
if (prNum != null) {
PullRequest pullReq = gitHubConnIgnited.getPullRequest(prNum);
- if (pullReq != null && pullReq.getTitle() != null) {
+ if (pullReq != null && pullReq.getTitle() != null)
prUrl = pullReq.htmlUrl();
- }
}
if (!Strings.isNullOrEmpty(ticketFullName))
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/UpdateInfo.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/UpdateInfo.java
index 5de0f23..16ff4e5 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/UpdateInfo.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/UpdateInfo.java
@@ -19,6 +19,7 @@ package org.apache.ignite.ci.web.model.current;
import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
import org.apache.ignite.ci.github.pure.IGitHubConnection;
+import org.apache.ignite.ci.jira.ignited.IJiraIgnited;
import org.apache.ignite.ci.jira.pure.IJiraIntegration;
/**
@@ -54,10 +55,10 @@ import org.apache.ignite.ci.jira.pure.IJiraIntegration;
/**
* @param teamcity TeamCity to get info about tokens.
* @param gitHubConn GitHub integration associated with this server.
- * @param jiraIntegration
+ * @param jiraIntegration JIRA Integration
*/
public void setJavaFlags(IAnalyticsEnabledTeamcity teamcity,
- IGitHubConnection gitHubConn, IJiraIntegration jiraIntegration) {
+ IGitHubConnection gitHubConn, IJiraIgnited jiraIntegration) {
if (teamcity.isTeamCityTokenAvailable())
javaFlags |= TEAMCITY_FLAG;
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java
index e4bfdec..9bd2813 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java
@@ -24,6 +24,8 @@ import java.util.Properties;
import org.apache.ignite.ci.HelperConfig;
import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
+import org.apache.ignite.ci.jira.ignited.IJiraIgnited;
+import org.apache.ignite.ci.jira.ignited.IJiraIgnitedProvider;
import org.apache.ignite.ci.tcbot.conf.BranchesTracked;
import org.apache.ignite.ci.github.PullRequest;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnited;
@@ -46,6 +48,7 @@ import org.mockito.Mockito;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
/**
@@ -71,25 +74,10 @@ public class MockBasedTcBotModule extends AbstractModule {
bind(IGitHubConnectionProvider.class).toInstance(ghProv);
when(ghProv.server(anyString())).thenReturn(Mockito.mock(IGitHubConnection.class));
- final IGitHubConnIgnitedProvider gitHubConnIgnitedProvider = Mockito.mock(IGitHubConnIgnitedProvider.class);
-
- bind(IGitHubConnIgnitedProvider.class).toInstance(gitHubConnIgnitedProvider);
-
- IGitHubConnIgnited gitHubConnIgnited = Mockito.mock(IGitHubConnIgnited.class);
-
- PullRequest pullReq = Mockito.mock(PullRequest.class);
-
- when(pullReq.getTitle()).thenReturn("");
+ mockGitHub();
- when(gitHubConnIgnited.getPullRequest(anyInt())).thenReturn(pullReq);
-
- when(gitHubConnIgnitedProvider.server(anyString())).thenReturn(gitHubConnIgnited);
-
- final IJiraIntegrationProvider jiraProv = Mockito.mock(IJiraIntegrationProvider.class);
-
- bind(IJiraIntegrationProvider.class).toInstance(jiraProv);
-
- when(jiraProv.server(anyString())).thenReturn(Mockito.mock(IJiraIntegration.class));
+ IJiraServerConfig jiraCfg = mock(IJiraServerConfig.class);
+ mockJira(jiraCfg);
bind(ITeamcityIgnitedProvider.class).to(TeamcityIgnitedProviderMock.class).in(new SingletonScope());
@@ -115,11 +103,10 @@ public class MockBasedTcBotModule extends AbstractModule {
}
@Override public IJiraServerConfig getJiraConfig(String srvCode) {
- return new JiraServerConfig(srvCode, loadOldProps(srvCode));
+ return jiraCfg;
}
- @Override
- public IGitHubConfig getGitConfig(String srvCode) {
+ @Override public IGitHubConfig getGitConfig(String srvCode) {
return new GitHubConfig(srvCode, loadOldProps(srvCode));
}
@@ -137,4 +124,42 @@ public class MockBasedTcBotModule extends AbstractModule {
super.configure();
}
+
+ private void mockGitHub() {
+ final IGitHubConnIgnitedProvider gitHubConnIgnitedProvider = Mockito.mock(IGitHubConnIgnitedProvider.class);
+
+ bind(IGitHubConnIgnitedProvider.class).toInstance(gitHubConnIgnitedProvider);
+
+ IGitHubConnIgnited gitHubConnIgnited = Mockito.mock(IGitHubConnIgnited.class);
+
+ PullRequest pullReq = Mockito.mock(PullRequest.class);
+
+ when(pullReq.getTitle()).thenReturn("");
+
+ when(gitHubConnIgnited.getPullRequest(anyInt())).thenReturn(pullReq);
+
+ when(gitHubConnIgnitedProvider.server(anyString())).thenReturn(gitHubConnIgnited);
+ }
+
+ /**
+ *
+ * @param jiraCfg JIRA config.
+ */
+ private void mockJira(IJiraServerConfig jiraCfg) {
+ final IJiraIntegrationProvider jiraProv = Mockito.mock(IJiraIntegrationProvider.class);
+
+ bind(IJiraIntegrationProvider.class).toInstance(jiraProv);
+
+ when(jiraProv.server(anyString())).thenReturn(Mockito.mock(IJiraIntegration.class));
+
+ final IJiraIgnitedProvider jiraIgnProv = Mockito.mock(IJiraIgnitedProvider.class);
+
+ bind(IJiraIgnitedProvider.class).toInstance(jiraIgnProv);
+
+ IJiraIgnited jiraIgn = Mockito.mock(IJiraIgnited.class);
+
+ when(jiraIgn.config()).thenReturn(jiraCfg);
+
+ when(jiraIgnProv.server(anyString())).thenReturn(jiraIgn);
+ }
}
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
index 6ca6a82..a379e0c 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
@@ -44,10 +44,13 @@ import org.apache.ignite.ci.ITeamcity;
import org.apache.ignite.ci.analysis.SuiteInBranch;
import org.apache.ignite.ci.analysis.TestInBranch;
import org.apache.ignite.ci.db.TcHelperDb;
+import org.apache.ignite.ci.di.MonitoredTask;
import org.apache.ignite.ci.di.scheduler.DirectExecNoWaitScheduler;
import org.apache.ignite.ci.di.scheduler.IScheduler;
import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
import org.apache.ignite.ci.tcbot.chain.PrChainsProcessorTest;
+import org.apache.ignite.ci.tcbot.conf.ITcBotConfig;
+import org.apache.ignite.ci.tcbot.conf.ITcServerConfig;
import org.apache.ignite.ci.tcmodel.changes.ChangesList;
import org.apache.ignite.ci.tcmodel.conf.BuildType;
import org.apache.ignite.ci.tcmodel.conf.Project;
@@ -92,6 +95,7 @@ import static junit.framework.TestCase.assertTrue;
import static org.apache.ignite.ci.HelperConfig.ensureDirExist;
import static org.apache.ignite.ci.teamcity.ignited.IgniteStringCompactor.STRINGS_CACHE;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
/**
@@ -161,10 +165,10 @@ public class IgnitedTcInMemoryIntegrationTest {
(invocationOnMock) -> {
String url = invocationOnMock.getArgument(1);
- if (url.contains("/app/rest/latest/builds?locator=defaultFilter:false,count:1000,start:1000"))
+ if (url.contains("app/rest/latest/builds?locator=defaultFilter:false,count:1000,start:1000"))
return getClass().getResourceAsStream("/buildHistoryMasterPage2.xml");
- if (url.contains("/app/rest/latest/builds?locator=defaultFilter:false"))
+ if (url.contains("app/rest/latest/builds?locator=defaultFilter:false"))
return getClass().getResourceAsStream("/buildHistoryMaster.xml");
throw new FileNotFoundException(url);
@@ -216,10 +220,10 @@ public class IgnitedTcInMemoryIntegrationTest {
when(http.sendGet(anyString(), anyString())).thenAnswer(
(invocationOnMock) -> {
String url = invocationOnMock.getArgument(1);
- if (url.contains("/app/rest/latest/builds?locator=defaultFilter:false,count:1000,start:1000"))
+ if (url.contains("app/rest/latest/builds?locator=defaultFilter:false,count:1000,start:1000"))
return getClass().getResourceAsStream("/buildHistoryMasterPage2.xml");
- if (url.contains("/app/rest/latest/builds?locator=defaultFilter:false"))
+ if (url.contains("app/rest/latest/builds?locator=defaultFilter:false"))
return getClass().getResourceAsStream("/buildHistoryMaster.xml");
if (url.contains("app/rest/latest/projects/" + projectId))
@@ -709,6 +713,15 @@ public class IgnitedTcInMemoryIntegrationTest {
final IJiraIntegrationProvider jiraProv = Mockito.mock(IJiraIntegrationProvider.class);
bind(IJiraIntegrationProvider.class).toInstance(jiraProv);
+
+ ITcBotConfig cfg = Mockito.mock(ITcBotConfig.class);
+
+ ITcServerConfig tcCfg = mock(ITcServerConfig.class);
+ when(tcCfg.logsDirectory()).thenReturn("logs");
+ when(tcCfg.host()).thenReturn("http://ci.ignite.apache.org/");
+ when(cfg.getTeamcityConfig(anyString())).thenReturn(tcCfg);
+
+ bind(ITcBotConfig.class).toInstance(cfg);
}
}
}
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/pure/BuildHistoryEmulator.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/pure/BuildHistoryEmulator.java
index d9d40be..babb18f 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/pure/BuildHistoryEmulator.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/pure/BuildHistoryEmulator.java
@@ -33,6 +33,7 @@ import static java.nio.charset.StandardCharsets.UTF_8;
public class BuildHistoryEmulator {
private ArrayList<BuildRef> sharedState;
+ @SuppressWarnings("AssignmentOrReturnOfFieldWithMutableType")
public BuildHistoryEmulator(ArrayList<BuildRef> sharedState) {
this.sharedState = sharedState;
}
@@ -41,7 +42,7 @@ public class BuildHistoryEmulator {
* @param url Url.
*/
@Nullable public InputStream handleUrl(String url) throws JAXBException {
- if (!url.contains("/app/rest/latest/builds?locator=defaultFilter:false"))
+ if (!url.contains("app/rest/latest/builds?locator=defaultFilter:false"))
return null;
int cnt = getIntFromLocator(url, "count:", 100);
@@ -73,13 +74,11 @@ public class BuildHistoryEmulator {
Builds builds = new Builds();
builds.count(returnNow);
if (nextStart > 0) {
- StringBuffer buf = new StringBuffer();
- buf.append("/app/rest/latest/builds?locator=defaultFilter:false,count:");
- buf.append(cnt);
- buf.append(",start:");
- buf.append(nextStart);
-
- builds.nextHref(buf.toString());
+ String buf = "app/rest/latest/builds?locator=defaultFilter:false,count:" +
+ cnt +
+ ",start:" +
+ nextStart;
+ builds.nextHref(buf);
}
return builds;
@@ -103,6 +102,5 @@ public class BuildHistoryEmulator {
return def;
return Integer.parseInt(cntStr.substring(prefix.length()));
-
}
}