Example #1
0
 @Theory
 public void shouldGetLatestModificationsForGivenMaterial(RequestDataPoints data) {
   MaterialService spy = spy(materialService);
   doReturn(data.klass).when(spy).getMaterialClass(data.material);
   List<Modification> actual = spy.latestModification(data.material, null, null);
   assertThat(actual, is(MODIFICATIONS));
 }
Example #2
0
 @Theory
 public void shouldGetModificationsSinceARevisionForGivenMaterial(RequestDataPoints data) {
   Revision revision = mock(Revision.class);
   MaterialService spy = spy(materialService);
   doReturn(data.klass).when(spy).getMaterialClass(data.material);
   List<Modification> actual = spy.modificationsSince(data.material, null, revision, null);
   assertThat(actual, is(MODIFICATIONS));
 }
Example #3
0
  @Test
  public void shouldReturnTheRevisionsThatMatchTheGivenSearchString() {
    when(securityService.hasViewPermissionForPipeline("pavan", "pipeline")).thenReturn(true);
    LocalizedOperationResult operationResult = mock(LocalizedOperationResult.class);
    MaterialConfig materialConfig = mock(MaterialConfig.class);
    when(goConfigService.materialForPipelineWithFingerprint("pipeline", "sha"))
        .thenReturn(materialConfig);

    List<MatchedRevision> expected =
        Arrays.asList(
            new MatchedRevision(
                "23",
                "revision",
                "revision",
                "user",
                new DateTime(2009, 10, 10, 12, 0, 0, 0).toDate(),
                "comment"));
    when(materialRepository.findRevisionsMatching(materialConfig, "23")).thenReturn(expected);
    assertThat(
        materialService.searchRevisions(
            "pipeline",
            "sha",
            "23",
            new Username(new CaseInsensitiveString("pavan")),
            operationResult),
        is(expected));
  }
Example #4
0
 @Test
 public void shouldThrowExceptionWhenPollerForMaterialNotFound() {
   try {
     materialService.latestModification(mock(Material.class), null, null);
     fail("Should have thrown up");
   } catch (RuntimeException e) {
     assertThat(e.getMessage(), is("unknown material type null"));
   }
 }
Example #5
0
  @Test
  public void shouldDelegateToMaterialRepository_getTotalModificationsFor() {
    GitMaterialConfig materialConfig = new GitMaterialConfig("http://test.com");
    GitMaterialInstance gitMaterialInstance =
        new GitMaterialInstance("http://test.com", null, null, "flyweight");

    when(materialRepository.findMaterialInstance(materialConfig)).thenReturn(gitMaterialInstance);

    when(materialRepository.getTotalModificationsFor(gitMaterialInstance)).thenReturn(1L);

    Long totalCount = materialService.getTotalModificationsFor(materialConfig);

    assertThat(totalCount, is(1L));
  }
Example #6
0
  @Test
  public void shouldReturnNotFoundIfTheMaterialDoesNotBelongToTheGivenPipeline() {
    when(securityService.hasViewPermissionForPipeline("pavan", "pipeline")).thenReturn(true);
    LocalizedOperationResult operationResult = mock(LocalizedOperationResult.class);

    when(goConfigService.materialForPipelineWithFingerprint("pipeline", "sha"))
        .thenThrow(new RuntimeException("Not found"));

    materialService.searchRevisions(
        "pipeline", "sha", "23", new Username(new CaseInsensitiveString("pavan")), operationResult);
    verify(operationResult)
        .notFound(
            LocalizedMessage.materialWithFingerPrintNotFound("pipeline", "sha"),
            HealthStateType.general(HealthStateScope.forPipeline("pipeline")));
  }
Example #7
0
 @Test
 public void shouldNotBeAuthorizedToViewAPipeline() {
   when(securityService.hasViewPermissionForPipeline("pavan", "pipeline")).thenReturn(false);
   LocalizedOperationResult operationResult = mock(LocalizedOperationResult.class);
   materialService.searchRevisions(
       "pipeline",
       "sha",
       "search-string",
       new Username(new CaseInsensitiveString("pavan")),
       operationResult);
   verify(operationResult)
       .unauthorized(
           LocalizedMessage.cannotViewPipeline("pipeline"),
           HealthStateType.general(HealthStateScope.forPipeline("pipeline")));
 }
Example #8
0
  @Test
  public void shouldDelegateToMaterialRepository_getModificationsFor() {
    GitMaterialConfig materialConfig = new GitMaterialConfig("http://test.com");
    GitMaterialInstance gitMaterialInstance =
        new GitMaterialInstance("http://test.com", null, null, "flyweight");
    Pagination pagination = Pagination.pageStartingAt(0, 10, 10);
    Modifications modifications = new Modifications();
    modifications.add(new Modification("user", "comment", "email", new Date(), "revision"));

    when(materialRepository.findMaterialInstance(materialConfig)).thenReturn(gitMaterialInstance);

    when(materialRepository.getModificationsFor(gitMaterialInstance, pagination))
        .thenReturn(modifications);

    Modifications gotModifications =
        materialService.getModificationsFor(materialConfig, pagination);

    assertThat(gotModifications, is(modifications));
  }
Example #9
0
  @Test
  public void shouldGetLatestModificationForPackageMaterial() {
    PackageMaterial material = new PackageMaterial();
    PackageDefinition packageDefinition =
        create(
            "id",
            "package",
            new Configuration(),
            PackageRepositoryMother.create(
                "id", "name", "plugin-id", "plugin-version", new Configuration()));
    material.setPackageDefinition(packageDefinition);

    when(pluginManager.doOn(
            eq(PackageMaterialProvider.class), eq("plugin-id"), any(ActionWithReturn.class)))
        .thenReturn(new PackageRevision("blah-123", new Date(), "user"));

    List<Modification> modifications = materialService.latestModification(material, null, null);
    assertThat(modifications.get(0).getRevision(), is("blah-123"));
  }
Example #10
0
 private void assertHasModifcation(MaterialRevisions materialRevisions, boolean b) {
   HgMaterial hgMaterial = new HgMaterial("foo.com", null);
   when(materialRepository.findLatestModification(hgMaterial)).thenReturn(materialRevisions);
   assertThat(materialService.hasModificationFor(hgMaterial), is(b));
 }