Skip to main content
summaryrefslogblamecommitdiffstats
blob: 284f08c99a0fa7aa74f7f4992a24b3c4bb5b6627 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13












                                                                                 

                                
                                              

                                                                          
                                                                         
                                                               
                                                                   
                                                                      
                                                                            
                                                                   
                                                     


                                                            
                                                
 



                      

                                                           
                                                                                   
 
                                  
 
                                              
 
                                                                             

                                                                                      
                                

         



                                                                                                                      

                                                                                                    
                                  

         
                                                                  
                                   
                                         
                     



                                                                                                                    
                                                                  
                 
                                                                       


                                                            
                                          
 










                                                                                                                    
                                                                  
                 
                                                                             

         















                                                                                              
                                                                         


























                                                                                                   
                                                             


                                                                                                            
 
                                      

                                                                                                                        

                                                                             
                                                                                                                          
                                                                 
                                                                                                                              




                                                                                                                          
                                                                                                                      
                                                                                                                     



                                                                                                                      

                                                                                                                                
                                                                                                                      
                                             










                                                                              


                                                              
                                   

                                                                                                             

                                      
                                                                                                               

                                                                                                                        







                                                                                                                              



                                                                                                                      

                                                                                                                           
                                                           
                                                                                         


                                                                               
                                                                                                                                
                                                                                                                      
                                             

         







































































































































                                                                                                  

                                                             
                                   

                                                                                                            
                                      
                                                                                                               

                                                                                                                        







                                                                                                                              



                                                                                                                      

                                                                                                                                
                                                                                                                      


                                                                

                                                            
                                                                                                            
                                                       


































                                                                                                                          
                                                                                                            
                                                       




                                                                                                                          

                                                             

                                                                                                            





                                                                                                                     
                                                         
                                   

                                                                                                            
                                      
                                                                 
                                                      

                                                                                
                                                                    
                                                                            
         
 


                                                             
                                                                               
 

                                                             
                                                                               
 

                                                             
                                                                               
         
 
 
/*******************************************************************************
 * Copyright (c) 2004 - 2006 University Of British Columbia and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     University Of British Columbia - initial API and implementation
 *******************************************************************************/

package org.eclipse.mylar.bugzilla.tests;

import junit.framework.TestCase;

import org.eclipse.core.runtime.CoreException;
import org.eclipse.mylar.context.tests.support.MylarTestUtils;
import org.eclipse.mylar.context.tests.support.MylarTestUtils.Credentials;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaAttributeFactory;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaClient;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaCorePlugin;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaReportElement;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaRepositoryConnector;
import org.eclipse.mylar.internal.bugzilla.core.IBugzillaConstants;
import org.eclipse.mylar.tasks.core.ITaskDataHandler;
import org.eclipse.mylar.tasks.core.RepositoryTaskAttribute;
import org.eclipse.mylar.tasks.core.RepositoryTaskData;
import org.eclipse.mylar.tasks.core.TaskRepository;
import org.eclipse.mylar.tasks.ui.TasksUiPlugin;

/**
 * @author Rob Elves
 * @author Mik Kersten
 */
public class RepositoryReportFactoryTest extends TestCase {

	BugzillaAttributeFactory attributeFactory = new BugzillaAttributeFactory();

	TaskRepository repository;

	BugzillaRepositoryConnector connector;

	private RepositoryTaskData init(String taskId) throws CoreException {
		ITaskDataHandler handler = connector.getTaskDataHandler();
		RepositoryTaskData taskData = handler.getTaskData(repository, taskId);
		return taskData;
	}

	private TaskRepository setRepository(String kind, String url) {
		connector = (BugzillaRepositoryConnector) TasksUiPlugin.getRepositoryManager().getRepositoryConnector(
				BugzillaCorePlugin.REPOSITORY_KIND);
		repository = new TaskRepository(kind, url);
		Credentials credentials = MylarTestUtils.readCredentials();
		repository.setAuthenticationCredentials(credentials.username, credentials.password);
		return repository;
	}

	public void testInvalidCredentials222() throws Exception {
		String bugid = "1";
		String errorMessage = "";
		try {
			setRepository(BugzillaCorePlugin.REPOSITORY_KIND, IBugzillaConstants.TEST_BUGZILLA_222_URL);
			repository.setAuthenticationCredentials("invalid", "invalid");
			init(bugid);
		} catch (CoreException e) {
			errorMessage = e.getStatus().getMessage();
		}
		assertTrue(errorMessage.startsWith("Unable to login"));
		repository.flushAuthenticationCredentials();
	}

	public void testBugNotFound222() {

		String bugid = "-1";
		String errorMessage = "";
		try {
			setRepository(BugzillaCorePlugin.REPOSITORY_KIND, IBugzillaConstants.TEST_BUGZILLA_222_URL);
			// If this isn't called the BugzillaClient will be reused (with old
			// credentials) so
			// force drop of old client connection.
			// Note that this is usually called by notification
			connector.getClientManager().repositoryAdded(repository);
			init(bugid);
		} catch (CoreException e) {
			errorMessage = e.getStatus().getMessage();
		}
		assertTrue(errorMessage.startsWith("Repository error from"));
	}

	// public void testReadingReport() throws Exception {
	// String bugid = "2";
	// setRepository(BugzillaCorePlugin.REPOSITORY_KIND,
	// IBugzillaConstants.TEST_BUGZILLA_222_URL);
	// RepositoryTaskData report = init(bugid);
	//		
	// assertNotNull(report);
	// assertEquals("search-match-test 1",
	// report.getAttribute(BugzillaReportElement.SHORT_DESC.getKeyString())
	// .getValue());
	// assertEquals("TestProduct",
	// report.getAttribute(BugzillaReportElement.PRODUCT.getKeyString()).getValue());
	// assertEquals("PC",
	// report.getAttribute(BugzillaReportElement.REP_PLATFORM.getKeyString()).getValue());
	// assertEquals("Windows",
	// report.getAttribute(BugzillaReportElement.OP_SYS.getKeyString()).getValue());
	// // first comment (#0) is the summary so this value is always 1
	// // greater
	// // than what is shown on the report ui
	// assertEquals(3, report.getComments().size());
	// assertEquals("search-match-test 1",
	// report.getComments().get(0).getAttribute(
	// BugzillaReportElement.THETEXT.getKeyString()).getValue());
	// // assertEquals(15, report.getAttachments().size());
	// // assertEquals("1",
	// //
	// report.getAttachments().get(0).getAttribute(BugzillaReportElement.ATTACHID).getValue());
	// // assertEquals("2006-03-10 14:11",
	// //
	// report.getAttachments().get(0).getAttribute(BugzillaReportElement.DATE)
	// // .getValue());
	// // assertEquals("Testing upload",
	// //
	// report.getAttachments().get(0).getAttribute(BugzillaReportElement.DESC)
	// // .getValue());
	// // assertEquals("patch130217.txt",
	// //
	// report.getAttachments().get(0).getAttribute(BugzillaReportElement.FILENAME)
	// // .getValue());
	// // assertEquals("text/plain",
	// //
	// report.getAttachments().get(0).getAttribute(BugzillaReportElement.TYPE).getValue());
	// }

	public void testReadingReport222() throws Exception {
		String bugid = "2";
		setRepository(BugzillaCorePlugin.REPOSITORY_KIND, IBugzillaConstants.TEST_BUGZILLA_222_URL);
		RepositoryTaskData report = init(bugid);

		assertNotNull(report);
		assertEquals("search-match-test 1", report.getAttribute(BugzillaReportElement.SHORT_DESC.getKeyString())
				.getValue());
		assertEquals("search-match-test 1", report.getSummary());
		assertEquals("search-match-test 1", report.getDescription());
		assertEquals("TestProduct", report.getAttribute(BugzillaReportElement.PRODUCT.getKeyString()).getValue());
		assertEquals("TestProduct", report.getProduct());
		assertEquals("TestComponent", report.getAttribute(BugzillaReportElement.COMPONENT.getKeyString()).getValue());
		assertEquals("PC", report.getAttribute(BugzillaReportElement.REP_PLATFORM.getKeyString()).getValue());
		assertEquals("Windows", report.getAttribute(BugzillaReportElement.OP_SYS.getKeyString()).getValue());
		assertEquals("other", report.getAttribute(BugzillaReportElement.VERSION.getKeyString()).getValue());
		assertEquals("P1", report.getAttribute(BugzillaReportElement.PRIORITY.getKeyString()).getValue());
		assertEquals("normal", report.getAttribute(BugzillaReportElement.BUG_SEVERITY.getKeyString()).getValue());
		assertEquals("" + bugid, report.getAttribute(BugzillaReportElement.BUG_ID.getKeyString()).getValue());
		assertEquals("NEW", report.getAttribute(BugzillaReportElement.BUG_STATUS.getKeyString()).getValue());
		assertEquals("2006-05-23 17:46", report.getAttribute(BugzillaReportElement.CREATION_TS.getKeyString())
				.getValue());
		assertEquals("2006-06-15 12:55:43", report.getAttribute(BugzillaReportElement.DELTA_TS.getKeyString())
				.getValue());
		assertEquals("---", report.getAttribute(BugzillaReportElement.TARGET_MILESTONE.getKeyString()).getValue());
		assertEquals("relves@cs.ubc.ca", report.getAttribute(BugzillaReportElement.REPORTER.getKeyString()).getValue());
		assertEquals("nhapke@cs.ubc.ca", report.getAttribute(BugzillaReportElement.ASSIGNED_TO.getKeyString())
				.getValue());
		assertEquals(2, report.getComments().size());
		// assertEquals("relves@cs.ubc.ca",
		// report.getComments().get(0).getAttribute(
		// BugzillaReportElement.WHO.getKeyString()).getValue());
		// assertEquals("2006-05-23 17:46:24",
		// report.getComments().get(0).getAttribute(
		// BugzillaReportElement.BUG_WHEN.getKeyString()).getValue());
		// assertEquals("search-match-test 1",
		// report.getComments().get(0).getAttribute(
		// BugzillaReportElement.THETEXT.getKeyString()).getValue());
		// assertEquals(0, report.getAttachments().size());
	}

	public void testReadingReport2201() throws Exception {
		String bugid = "1";
		setRepository(BugzillaCorePlugin.REPOSITORY_KIND, IBugzillaConstants.TEST_BUGZILLA_2201_URL);
		RepositoryTaskData report = init(bugid);

		assertNotNull(report);
		assertEquals("1", report.getAttribute(BugzillaReportElement.BUG_ID.getKeyString()).getValue());
		assertEquals("search-match-test 1", report.getAttribute(BugzillaReportElement.SHORT_DESC.getKeyString())
				.getValue());
		assertEquals("TestProduct", report.getAttribute(BugzillaReportElement.PRODUCT.getKeyString()).getValue());
		assertEquals("TestComponent", report.getAttribute(BugzillaReportElement.COMPONENT.getKeyString()).getValue());
		assertEquals("PC", report.getAttribute(BugzillaReportElement.REP_PLATFORM.getKeyString()).getValue());
		assertEquals("Windows", report.getAttribute(BugzillaReportElement.OP_SYS.getKeyString()).getValue());
		assertEquals("other", report.getAttribute(BugzillaReportElement.VERSION.getKeyString()).getValue());
		assertEquals("P2", report.getAttribute(BugzillaReportElement.PRIORITY.getKeyString()).getValue());
		assertEquals("normal", report.getAttribute(BugzillaReportElement.BUG_SEVERITY.getKeyString()).getValue());
		assertEquals("NEW", report.getAttribute(BugzillaReportElement.BUG_STATUS.getKeyString()).getValue());
		assertEquals("2006-03-02 18:13", report.getAttribute(BugzillaReportElement.CREATION_TS.getKeyString())
				.getValue());
		assertEquals("2006-05-03 13:06:11", report.getAttribute(BugzillaReportElement.DELTA_TS.getKeyString())
				.getValue());
		assertEquals("---", report.getAttribute(BugzillaReportElement.TARGET_MILESTONE.getKeyString()).getValue());
		RepositoryTaskAttribute attribute = report.getAttribute(BugzillaReportElement.BLOCKED.getKeyString());
		assertEquals("2, 9", attribute.getValue());
		attribute = report.getAttribute(BugzillaReportElement.CC.getKeyString());
		assertEquals(2, attribute.getValues().size());
		assertEquals("relves@cs.ubc.ca", attribute.getValues().get(0));
		assertEquals("relves@gmail.com", attribute.getValues().get(1));
		assertEquals("relves@cs.ubc.ca", report.getAttribute(BugzillaReportElement.REPORTER.getKeyString()).getValue());
		assertEquals("relves@cs.ubc.ca", report.getAttribute(BugzillaReportElement.ASSIGNED_TO.getKeyString())
				.getValue());
	}

	// public void testReadingReport2201Eclipse() throws Exception {
	// String bugid = "24448";
	// TaskRepository repository = new
	// TaskRepository(BugzillaCorePlugin.REPOSITORY_KIND,
	// IBugzillaConstants.ECLIPSE_BUGZILLA_URL);
	//
	// RepositoryTaskData report = new RepositoryTaskData(attributeFactory,
	// BugzillaCorePlugin.REPOSITORY_KIND, repository
	// .getUrl(), bugid);
	// BugzillaServerFacade.setupExistingBugAttributes(repository.getUrl(),
	// report);
	// factory.populateReport(report, repository.getUrl(), null,
	// repository.getUserName(), repository.getPassword(),
	// null);
	//
	// assertNotNull(report);
	// assertEquals("24448",
	// report.getAttribute(BugzillaReportElement.BUG_ID.getKeyString()).getValue());
	// assertEquals("Ant causing Out of Memory",
	// report.getAttribute(BugzillaReportElement.SHORT_DESC.getKeyString())
	// .getValue());
	// assertEquals("Platform",
	// report.getAttribute(BugzillaReportElement.PRODUCT.getKeyString()).getValue());
	// assertEquals("Ant",
	// report.getAttribute(BugzillaReportElement.COMPONENT.getKeyString()).getValue());
	// assertEquals("PC",
	// report.getAttribute(BugzillaReportElement.REP_PLATFORM.getKeyString()).getValue());
	// assertEquals("other",
	// report.getAttribute(BugzillaReportElement.OP_SYS.getKeyString()).getValue());
	// assertEquals("2.0",
	// report.getAttribute(BugzillaReportElement.VERSION.getKeyString()).getValue());
	// assertEquals("P2",
	// report.getAttribute(BugzillaReportElement.PRIORITY.getKeyString()).getValue());
	// assertEquals("normal",
	// report.getAttribute(BugzillaReportElement.BUG_SEVERITY.getKeyString()).getValue());
	// assertEquals("RESOLVED",
	// report.getAttribute(BugzillaReportElement.BUG_STATUS.getKeyString()).getValue());
	// assertEquals("WONTFIX",
	// report.getAttribute(BugzillaReportElement.RESOLUTION.getKeyString()).getValue());
	// assertEquals("2002-10-07 09:32",
	// report.getAttribute(BugzillaReportElement.CREATION_TS.getKeyString())
	// .getValue());
	// assertEquals("2006-02-03 12:03:57",
	// report.getAttribute(BugzillaReportElement.DELTA_TS.getKeyString())
	// .getValue());
	// assertEquals("core, performance, ui",
	// report.getAttribute(BugzillaReportElement.KEYWORDS.getKeyString())
	// .getValue());
	// // RepositoryTaskAttribute attribute =
	// // report.getAttribute(BugzillaReportElement.CC);
	// // assertEquals(30, attribute.getValues().size());
	// // assertEquals("relves@cs.ubc.ca", attribute.getValues().get(0));
	// // assertEquals("relves@gmail.com", attribute.getValues().get(1));
	// // assertEquals("relves@cs.ubc.ca",
	// // report.getAttribute(BugzillaReportElement.REPORTER).getValue());
	// // assertEquals("relves@cs.ubc.ca",
	// // report.getAttribute(BugzillaReportElement.ASSIGNED_TO).getValue());
	// // assertEquals(1, report.getComments().size());
	// // assertEquals("relves@cs.ubc.ca",
	// //
	// report.getComments().get(0).getAttribute(BugzillaReportElement.WHO).getValue());
	// // assertEquals("2006-03-02 18:13",
	// //
	// report.getComments().get(0).getAttribute(BugzillaReportElement.BUG_WHEN)
	// // .getValue());
	// // assertEquals("search-match-test 1",
	// //
	// report.getComments().get(0).getAttribute(BugzillaReportElement.THETEXT)
	// // .getValue());
	// // assertEquals(0, report.getAttachments().size());
	// }

	// public void testReadingReport220() throws Exception {
	// String bugid = "1";
	// TaskRepository repository = new
	// TaskRepository(BugzillaCorePlugin.REPOSITORY_KIND,
	// IBugzillaConstants.TEST_BUGZILLA_220_URL);
	//
	// RepositoryTaskData report = new RepositoryTaskData(attributeFactory,
	// BugzillaCorePlugin.REPOSITORY_KIND,
	// repository.getUrl(), bugid);
	// BugzillaServerFacade.setupExistingBugAttributes(repository.getUrl(),
	// report);
	// factory.populateReport(report, repository.getUrl(), null,
	// repository.getUserName(), repository.getPassword(),
	// null);
	//
	// assertNotNull(report);
	// assertEquals("1",
	// report.getAttribute(BugzillaReportElement.BUG_ID.getKeyString()).getValue());
	// assertEquals("search-match-test",
	// report.getAttribute(BugzillaReportElement.SHORT_DESC.getKeyString())
	// .getValue());
	// assertEquals("TestProduct",
	// report.getAttribute(BugzillaReportElement.PRODUCT.getKeyString()).getValue());
	// assertEquals("TestComponent",
	// report.getAttribute(BugzillaReportElement.COMPONENT.getKeyString()).getValue());
	// assertEquals("PC",
	// report.getAttribute(BugzillaReportElement.REP_PLATFORM.getKeyString()).getValue());
	// assertEquals("Windows",
	// report.getAttribute(BugzillaReportElement.OP_SYS.getKeyString()).getValue());
	// assertEquals("other",
	// report.getAttribute(BugzillaReportElement.VERSION.getKeyString()).getValue());
	// assertEquals("P2",
	// report.getAttribute(BugzillaReportElement.PRIORITY.getKeyString()).getValue());
	// assertEquals("normal",
	// report.getAttribute(BugzillaReportElement.BUG_SEVERITY.getKeyString()).getValue());
	// assertEquals("NEW",
	// report.getAttribute(BugzillaReportElement.BUG_STATUS.getKeyString()).getValue());
	// assertEquals("2006-03-02 17:30",
	// report.getAttribute(BugzillaReportElement.CREATION_TS.getKeyString())
	// .getValue());
	// assertEquals("2006-04-20 15:13:43",
	// report.getAttribute(BugzillaReportElement.DELTA_TS.getKeyString())
	// .getValue());
	// assertEquals("---",
	// report.getAttribute(BugzillaReportElement.TARGET_MILESTONE.getKeyString()).getValue());
	// assertEquals("relves@cs.ubc.ca",
	// report.getAttribute(BugzillaReportElement.REPORTER.getKeyString()).getValue());
	// assertEquals("relves@cs.ubc.ca",
	// report.getAttribute(BugzillaReportElement.ASSIGNED_TO.getKeyString())
	// .getValue());
	// assertEquals("relves@cs.ubc.ca",
	// report.getAttribute(BugzillaReportElement.CC.getKeyString()).getValue());
	// assertEquals(3, report.getComments().size());
	// assertEquals("relves@cs.ubc.ca",
	// report.getComments().get(0).getAttribute(
	// BugzillaReportElement.WHO.getKeyString()).getValue());
	// assertEquals("2006-03-02 17:30",
	// report.getComments().get(0).getAttribute(
	// BugzillaReportElement.BUG_WHEN.getKeyString()).getValue());
	// assertEquals("search-match-test",
	// report.getComments().get(0).getAttribute(
	// BugzillaReportElement.THETEXT.getKeyString()).getValue());
	// assertEquals(0, report.getAttachments().size());
	// }

	public void testReadingReport218() throws Exception {
		String bugid = "1";
		setRepository(BugzillaCorePlugin.REPOSITORY_KIND, IBugzillaConstants.TEST_BUGZILLA_218_URL);
		RepositoryTaskData report = init(bugid);
		assertNotNull(report);
		assertEquals("1", report.getAttribute(BugzillaReportElement.BUG_ID.getKeyString()).getValue());
		assertEquals("search-match-test 1", report.getAttribute(BugzillaReportElement.SHORT_DESC.getKeyString())
				.getValue());
		assertEquals("TestProduct", report.getAttribute(BugzillaReportElement.PRODUCT.getKeyString()).getValue());
		assertEquals("TestComponent", report.getAttribute(BugzillaReportElement.COMPONENT.getKeyString()).getValue());
		assertEquals("PC", report.getAttribute(BugzillaReportElement.REP_PLATFORM.getKeyString()).getValue());
		assertEquals("Windows XP", report.getAttribute(BugzillaReportElement.OP_SYS.getKeyString()).getValue());
		assertEquals("other", report.getAttribute(BugzillaReportElement.VERSION.getKeyString()).getValue());
		assertEquals("P2", report.getAttribute(BugzillaReportElement.PRIORITY.getKeyString()).getValue());
		assertEquals("normal", report.getAttribute(BugzillaReportElement.BUG_SEVERITY.getKeyString()).getValue());
		assertEquals("NEW", report.getAttribute(BugzillaReportElement.BUG_STATUS.getKeyString()).getValue());
		assertEquals("2006-03-02 18:09", report.getAttribute(BugzillaReportElement.CREATION_TS.getKeyString())
				.getValue());
		assertEquals("2006-05-05 17:45:24", report.getAttribute(BugzillaReportElement.DELTA_TS.getKeyString())
				.getValue());
		assertEquals("---", report.getAttribute(BugzillaReportElement.TARGET_MILESTONE.getKeyString()).getValue());
		assertEquals("relves@cs.ubc.ca", report.getAttribute(BugzillaReportElement.REPORTER.getKeyString()).getValue());
		assertEquals("relves@cs.ubc.ca", report.getAttribute(BugzillaReportElement.ASSIGNED_TO.getKeyString())
				.getValue());
		assertEquals(0, report.getAttachments().size());
	}

	public void testTimeTracking222() throws Exception {
		setRepository(BugzillaCorePlugin.REPOSITORY_KIND, IBugzillaConstants.TEST_BUGZILLA_222_URL);
		RepositoryTaskData report = init("11");
		assertEquals("7.50", report.getAttribute(BugzillaReportElement.ESTIMATED_TIME.getKeyString()).getValue());
		assertEquals("4.00", report.getAttribute(BugzillaReportElement.ACTUAL_TIME.getKeyString()).getValue());
		assertEquals("3.00", report.getAttribute(BugzillaReportElement.REMAINING_TIME.getKeyString()).getValue());
		assertEquals("2005-03-04", report.getAttribute(BugzillaReportElement.DEADLINE.getKeyString()).getValue());
	}

	// public void testTimeTracking2201() throws Exception {
	// RepositoryTaskData report =
	// init(IBugzillaConstants.TEST_BUGZILLA_2201_URL, 23);
	//
	// assertEquals("7.50",
	// report.getAttribute(BugzillaReportElement.ESTIMATED_TIME.getKeyString()).getValue());
	// assertEquals("1.00",
	// report.getAttribute(BugzillaReportElement.ACTUAL_TIME.getKeyString()).getValue());
	// assertEquals("3.00",
	// report.getAttribute(BugzillaReportElement.REMAINING_TIME.getKeyString()).getValue());
	// assertEquals("2005-03-04",
	// report.getAttribute(BugzillaReportElement.DEADLINE.getKeyString()).getValue());
	// }
	//
	// public void testTimeTracking220() throws Exception {
	// RepositoryTaskData report =
	// init(IBugzillaConstants.TEST_BUGZILLA_220_URL, 9);
	//
	// assertEquals("7.50",
	// report.getAttribute(BugzillaReportElement.ESTIMATED_TIME.getKeyString()).getValue());
	// assertEquals("1.00",
	// report.getAttribute(BugzillaReportElement.ACTUAL_TIME.getKeyString()).getValue());
	// assertEquals("3.00",
	// report.getAttribute(BugzillaReportElement.REMAINING_TIME.getKeyString()).getValue());
	// assertEquals("2005-03-04",
	// report.getAttribute(BugzillaReportElement.DEADLINE.getKeyString()).getValue());
	// }

	public void testTimeTracking218() throws Exception {
		setRepository(BugzillaCorePlugin.REPOSITORY_KIND, IBugzillaConstants.TEST_BUGZILLA_218_URL);
		RepositoryTaskData report = init("19");
		assertEquals("7.50", report.getAttribute(BugzillaReportElement.ESTIMATED_TIME.getKeyString()).getValue());
		assertEquals("1.00", report.getAttribute(BugzillaReportElement.ACTUAL_TIME.getKeyString()).getValue());
		assertEquals("3.00", report.getAttribute(BugzillaReportElement.REMAINING_TIME.getKeyString()).getValue());
	}

	public void testMultipleDepensOn() throws Exception {
		String bugid = "5";
		setRepository(BugzillaCorePlugin.REPOSITORY_KIND, IBugzillaConstants.TEST_BUGZILLA_218_URL);
		RepositoryTaskData report = init(bugid);
		assertNotNull(report);
		assertEquals("5", report.getAttribute(BugzillaReportElement.BUG_ID.getKeyString()).getValue());
		assertEquals("6, 7", report.getAttribute(BugzillaReportElement.DEPENDSON.getKeyString()).getValue());
		assertEquals("13, 14", report.getAttribute(BugzillaReportElement.BLOCKED.getKeyString()).getValue());
	}

	public void testBugReportAPI() throws Exception {
		String bugid = "3";
		setRepository(BugzillaCorePlugin.REPOSITORY_KIND, IBugzillaConstants.TEST_BUGZILLA_222_URL);
		RepositoryTaskData report = init(bugid);
		assertNotNull(report);
		assertTrue(report instanceof RepositoryTaskData);
		RepositoryTaskData bugReport = report;
		assertEquals("search-match-test 2", bugReport.getSummary());
		assertEquals("search-match-test 2", bugReport.getDescription());
		assertEquals("TestProduct", bugReport.getProduct());
		assertEquals("nhapke@cs.ubc.ca", bugReport.getAssignedTo());
	}

	public void testDeltaTsTruncation() {
		String ts1 = "2006-07-06 03:22:08 0900";
		String ts1_truncated = "2006-07-06 03:22:08";
		assertEquals(ts1_truncated, BugzillaClient.stripTimeZone(ts1));

		String ts2 = "2006-07-06 03:22:08";
		String ts2_truncated = "2006-07-06 03:22:08";
		assertEquals(ts2_truncated, BugzillaClient.stripTimeZone(ts2));

		String ts3 = "2006-07-06 03:22:08 PST";
		String ts3_truncated = "2006-07-06 03:22:08";
		assertEquals(ts3_truncated, BugzillaClient.stripTimeZone(ts3));
	}

}

Back to the top