@Test
  public void testPerformReturnsSuccessIfNoExceptionsThrown() throws Exception {
    final BPInstanceConfig instanceConfig = createInstanceConfig(publishers, false, false, false);
    instanceConfig.setHostConfigurationAccess(mockHostConfigurationAccess);
    final BapPublisher mockPublisher = createAndAddMockPublisher(hostConfiguration.getName());
    mockPublisher.perform(hostConfiguration, buildInfo);

    assertResult(Result.SUCCESS, instanceConfig);
  }
  @Test
  public void testDoNotCreateNodeName() throws Exception {
    final BPInstanceConfig instanceConfig =
        createInstanceConfig(publishers, false, false, false, "master");
    instanceConfig.setHostConfigurationAccess(mockHostConfigurationAccess);
    final BapPublisher mockPublisher = createAndAddMockPublisher(hostConfiguration.getName());
    mockPublisher.perform(hostConfiguration, buildInfo);
    assertResult(Result.SUCCESS, instanceConfig);

    assertFalse(buildInfo.getCurrentBuildEnv().getEnvVars().containsKey(BPBuildInfo.ENV_NODE_NAME));
  }
  @Test
  public void testPerformReturnsFailureIfFailOnError() throws Exception {
    final BapPublisher mockPub1 = createAndAddMockPublisher(hostConfiguration.getName());
    mockPub1.perform(hostConfiguration, buildInfo);
    EasyMock.expectLastCall().andThrow(new RuntimeException("Bad stuff here!"));
    createAndAddMockPublisher(null);

    final BPInstanceConfig instanceConfig = createInstanceConfig(publishers, false, true, false);
    instanceConfig.setHostConfigurationAccess(mockHostConfigurationAccess);

    assertResult(Result.FAILURE, instanceConfig);
  }
  @Test
  public void testPerformReturnsUnstableAndDoesNotInvokeOtherPublishers() throws Exception {
    final BapPublisher mockPub1 = createAndAddMockPublisher(hostConfiguration.getName());
    mockPub1.perform(hostConfiguration, buildInfo);
    EasyMock.expectLastCall().andThrow(new RuntimeException("Bad stuff here!"));
    createAndAddMockPublisher(null);

    final BPInstanceConfig instanceConfig = createInstanceConfig(publishers, false, false, false);
    instanceConfig.setHostConfigurationAccess(mockHostConfigurationAccess);

    assertResult(Result.UNSTABLE, instanceConfig);
  }
  @Test
  public void testParameterizedPublishing() throws Exception {
    final String paramName = "PUB_PATTERN";
    final ParamPublish paramPublish = new ParamPublish(paramName);
    buildInfo.getCurrentBuildEnv().getEnvVars().put(paramName, "Bill|Ted");
    final BPInstanceConfig instanceConfig =
        createInstanceConfig(publishers, false, false, false, null, paramPublish);
    instanceConfig.setHostConfigurationAccess(mockHostConfigurationAccess);
    createLabeledPublisher("Bill", true);
    createLabeledPublisher("Neo", false);
    createLabeledPublisher("Ted", true);
    createLabeledPublisher("Trinity", false);

    assertResult(Result.SUCCESS, instanceConfig);
  }
  private void assertFixNodeName(
      final Map<String, String> envVars,
      final String nodeName,
      final String masterNodeName,
      final String expectedNodeName)
      throws Exception {
    envVars.put(BPBuildInfo.ENV_NODE_NAME, nodeName);
    final BPInstanceConfig instanceConfig =
        createInstanceConfig(publishers, false, false, false, masterNodeName);
    instanceConfig.setHostConfigurationAccess(mockHostConfigurationAccess);
    final BapPublisher mockPublisher = createAndAddMockPublisher(hostConfiguration.getName());
    mockPublisher.perform(hostConfiguration, buildInfo);
    assertResult(Result.SUCCESS, instanceConfig);

    assertEquals(expectedNodeName, envVars.get(BPBuildInfo.ENV_NODE_NAME));
  }
  @Test
  public void testPerformReturnsUnstableWhenNoHostConfigFound() throws Exception {
    final BapPublisher mockPublisher = createAndAddMockPublisher(null);
    mockPublisher.setEffectiveEnvironmentInBuildInfo(
        (AbstractBuild) EasyMock.anyObject(), (BPBuildInfo) EasyMock.anyObject());
    EasyMock.expect(mockPublisher.getConfigName()).andReturn(hostConfiguration.getName());

    Mockito.reset(mockHostConfigurationAccess);
    Mockito.when(mockHostConfigurationAccess.getConfiguration(hostConfiguration.getName()))
        .thenReturn(null);

    final BPInstanceConfig instanceConfig = createInstanceConfig(publishers, false, false, false);
    instanceConfig.setHostConfigurationAccess(mockHostConfigurationAccess);

    assertResult(Result.UNSTABLE, instanceConfig);
    Mockito.verify(mockHostConfigurationAccess).getConfiguration(hostConfiguration.getName());
  }
예제 #8
0
 public BPPlugin(
     final String consolePrefix,
     final ArrayList<PUBLISHER> publishers,
     final boolean continueOnError,
     final boolean failOnError,
     final boolean alwaysPublishFromMaster,
     final String masterNodeName,
     final ParamPublish paramPublish) {
   this.delegate =
       new BPInstanceConfig<PUBLISHER>(
           publishers,
           continueOnError,
           failOnError,
           alwaysPublishFromMaster,
           masterNodeName,
           paramPublish);
   delegate.setHostConfigurationAccess(this);
   this.consolePrefix = consolePrefix;
 }
예제 #9
0
 public void setDelegate(final BPInstanceConfig delegate) {
   this.delegate = delegate;
   delegate.setHostConfigurationAccess(this);
 }