Package net.sf.redmine_mylyn.internal.api

Source Code of net.sf.redmine_mylyn.internal.api.IssueValidator

package net.sf.redmine_mylyn.internal.api;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

import java.text.SimpleDateFormat;
import java.util.Arrays;

import net.sf.redmine_mylyn.api.model.Issue;
import net.sf.redmine_mylyn.api.model.container.Attachments;
import net.sf.redmine_mylyn.api.model.container.CustomValues;
import net.sf.redmine_mylyn.api.model.container.Journals;
import net.sf.redmine_mylyn.api.model.container.TimeEntries;

public class IssueValidator {

  public final static String RESOURCE_FILE_ISSUE_1 = "/xmldata/issue/issue_1.xml";

  public final static String RESOURCE_FILE_ISSUE_2 = "/xmldata/issue/issue_2.xml";

  public final static String RESOURCE_FILE_LIST = "/xmldata/issues/list_1_7_8.xml";

  public final static String RESOURCE_FILE_UPDATED = "/xmldata/issues/updatedsince_1_7_8.xml";
 
  public final static int COUNT = 3;
 
  public final static SimpleDateFormat REDMINE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
 
  public static void validate1(Issue obj) throws Exception {
   
    assertNotNull(obj);
    assertEquals(1, obj.getId());
    assertFalse(obj.isEditAllowed());
    assertTrue(obj.isClosed());

    assertEquals("Can't print recipes", obj.getSubject());
    assertEquals("Unable to print recipes", obj.getDescription());
    assertEquals(1273183200000l, obj.getCreatedOn().getTime());
    assertEquals(1273356000000l, obj.getUpdatedOn().getTime());
    assertEquals(1, obj.getTrackerId());
    assertEquals(1, obj.getProjectId());
    assertEquals(1, obj.getStatusId());
    assertEquals(4, obj.getPriorityId());
    assertFalse(obj.isWatched());
    assertEquals(0, obj.getWatcherIds().length);
    assertEquals(REDMINE_DATE_FORMAT.parse("2010-05-09"), obj.getStartDate());
    assertEquals(REDMINE_DATE_FORMAT.parse("2010-05-20"), obj.getDueDate());
    assertEquals(0, obj.getDoneRatio());
    //EstimatedHours
    assertEquals(2, obj.getAuthorId());
    assertEquals(1, obj.getCategoryId());
    //AssignedTo
    //FixedVersion
    //parent
    assertNotNull(obj.getSubtasks());
    assertEquals("[2]", Arrays.toString(obj.getSubtasks()));
    assertEquals("[1]", Arrays.toString(obj.getAvailableStatusId()));
   
    CustomValues cfs = obj.getCustomValues();
    assertEquals(3, cfs.getAll().size());
    assertEquals(10, cfs.get(10).getId());
    assertEquals(6, cfs.get(10).getCustomFieldId());
    assertEquals("2.1", cfs.get(10).getValue());

    Journals comments = obj.getJournals();
    assertEquals(2, comments.getAll().size());
    assertEquals(2, comments.get(2).getId());
    assertEquals(2, comments.get(2).getUserId());
    assertEquals(1273356000000l, comments.get(2).getCreatedOn().getTime());
    assertEquals("Some notes with Redmine links: #2, r2.", comments.get(2).getNotes());
   
    Attachments attachments = obj.getAttachments();
    assertEquals(0, attachments.getAll().size());
   
    //IssueRelations
   
    TimeEntries tEntrys = obj.getTimeEntries();
    assertEquals(154.25f, tEntrys.getSum(), 0.0);
    assertTrue(tEntrys.isNewAllowed());
    assertTrue(tEntrys.isViewAllowed());
    assertEquals(2, tEntrys.getAll().size());
    assertEquals(4.25, tEntrys.get(1).getHours(), 0.0);
    assertEquals(9, tEntrys.get(1).getActivityId());
    assertEquals(2, tEntrys.get(1).getUserId());
    assertEquals(REDMINE_DATE_FORMAT.parse("2007-03-23"), tEntrys.get(1).getSpentOn());
    assertEquals("My hours", tEntrys.get(1).getComments());
    //CF
  }

  public static void validate2(Issue obj) throws Exception {
    assertNotNull(obj);
    assertEquals(2, obj.getId());
    assertTrue(obj.isEditAllowed());
    assertFalse(obj.isClosed());

    assertEquals(10, obj.getDoneRatio());
    assertEquals(3.5, obj.getEstimatedHours(), 0.0);
   
    //Watchers
    assertTrue(obj.isWatched());
    assertEquals("[1, 3]", Arrays.toString(obj.getWatcherIds()));
    assertEquals(3, obj.getAssignedToId());
    assertEquals(2, obj.getFixedVersionId());
    assertEquals(1, obj.getParentId());
    assertNull(obj.getSubtasks());
    assertTrue(obj.isWatchersViewAllowed());
    assertTrue(obj.isWatchersAddAllowed());
    assertTrue(obj.isWatchersDeleteAllowed());
   
    TimeEntries tEntrys = obj.getTimeEntries();
    assertEquals(4.25f, tEntrys.getSum(), 0.0);
    assertEquals(1, tEntrys.getAll().size());
    assertEquals(4.25, tEntrys.get(1).getHours(), 0.0);
    assertEquals(9, tEntrys.get(1).getActivityId());
    assertEquals(2, tEntrys.get(1).getUserId());
    assertEquals(REDMINE_DATE_FORMAT.parse("2007-03-23"), tEntrys.get(1).getSpentOn());
    assertEquals("My hours", tEntrys.get(1).getComments());

    CustomValues cfs = tEntrys.get(1).getCustomValues();
    assertEquals(1, cfs.getAll().size());
    assertEquals(5, cfs.get(5).getId());
    assertEquals(2, cfs.get(5).getCustomFieldId());
    assertEquals("", cfs.get(5).getValue());
   
    //TODO not implemented yet
    //IssueRelations
   
    Attachments attachments = obj.getAttachments();
    assertEquals(1, attachments.getAll().size());
    assertEquals(10, attachments.get(10).getId());
    assertEquals(2, attachments.get(10).getAuthorId());
    assertEquals(1153336047000l, attachments.get(10).getCreatedOn().getTime());
    assertEquals("picture.jpg", attachments.get(10).getFilename());
    assertEquals(452, attachments.get(10).getFilesize());
    assertEquals("b91e08d0cf966d5c6ff411bd8c4cc3a2", attachments.get(10).getDigest());
    assertEquals("image/jpeg", attachments.get(10).getContentType());
    assertEquals("kurze Beschreibung", attachments.get(10).getDescription());
  }

}
TOP

Related Classes of net.sf.redmine_mylyn.internal.api.IssueValidator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.