/src/main/resources/com/onresolve/jira/groovy/test/TestCopyProject.groovy
Groovy | 106 lines | 74 code | 24 blank | 8 comment | 1 complexity | 770d90d5213b67480fea88f46d306878 MD5 | raw file
- package com.onresolve.jira.groovy.test
-
- import com.atlassian.core.ofbiz.CoreFactory
- import com.atlassian.jira.ComponentManager
- import com.atlassian.jira.action.ActionNames
- import com.atlassian.jira.project.Project
- import com.atlassian.jira.project.ProjectManager
- import com.onresolve.jira.groovy.canned.admin.CopyProject
- import org.apache.log4j.Category
- import org.junit.Before
- import org.junit.Test
- import org.ofbiz.core.entity.GenericValue
- import webwork.dispatcher.ActionResult
- import static junit.framework.Assert.*
-
- import com.atlassian.jira.bc.project.component.ProjectComponentManager
- import com.atlassian.jira.project.version.VersionManager
- import com.onresolve.jira.groovy.canned.utils.FilterUtils
- import com.atlassian.jira.component.ComponentAccessor
- import com.atlassian.jira.issue.IssueInputParametersImpl
-
- /**
- * User: jechlin2
- * Date: 08/02/11
- * Time: 18:51
- */
- class TestCopyProject extends BaseSubTaskTest {
-
- Category log = Category.getInstance(this.class)
- String targetProjectKey = "AAA"
- ProjectManager projectManager = componentManager.getProjectManager()
-
- @Before
- public void setUp() {
-
- GenericValue targetGv = projectManager.getProjectObjByKey(targetProjectKey)?.genericValue
- if (targetGv) {
-
- log.debug ("Delete target project")
- def projectService = ComponentManager.getComponentInstanceOfType(com.atlassian.jira.bc.project.ProjectService.class)
-
- def validationResult = projectService.validateDeleteProject(adminUser, targetProjectKey)
- assertFalse validationResult.getErrorCollection().hasAnyErrors()
- assertFalse projectService.deleteProject(adminUser, validationResult).errorCollection.hasAnyErrors()
- }
-
- assertNotNull(customFieldManager.getCustomFieldObjectByName("TextFieldA"))
-
- createIssue()
- }
-
- public void createIssue() {
- log.debug ("setUp")
-
- log.debug ("issueType: ${issueType.getName()}")
- assertNotNull(project)
-
- // ComponentAccessor.getIssueService().validateCreate(adminUser, new IssueInputParametersImpl())
-
- issue = componentManager.getIssueFactory().getIssue()
- issue.setProject(project.getGenericValue())
-
- issue.setSummary "my summary"
- issue.setReporterId "admin"
- issue.setIssueType issueType.getGenericValue()
- issue.setPriorityId('2')
- ProjectComponentManager projectComponentManager = componentManager.getProjectComponentManager()
- VersionManager versionManager = componentManager.getVersionManager()
-
- issue.setComponents(projectComponentManager.findAllForProject(project.id).collect{it.genericValue})
- issue.setAffectedVersions(versionManager.getVersions(project.id))
- issue.setFixVersions(versionManager.getVersions(project.id))
-
- issueManager.createIssue(adminUser, issue);
- log.debug ("Created issue: $issue")
- }
-
-
- @Test
- public void testCopyProject() {
-
- // todo: check doValidate as well
- Map inputs = [
- (CopyProject.FIELD_SOURCE_PROJECT) : project.getKey(),
- (CopyProject.FIELD_TARGET_PROJECT) : targetProjectKey,
- (CopyProject.FIELD_TARGET_PROJECT_NAME) : "Copied Project",
- (CopyProject.FIELD_COPY_VERSIONS) : true,
- (CopyProject.FIELD_COPY_COMPONENTS) : true,
- (CopyProject.FIELD_COPY_ISSUES) : true,
- ]
-
- Map params = new CopyProject().doScript(inputs)
-
- Project targetProject = projectManager.getProjectObjByKey(targetProjectKey)
- assertNotNull(targetProject)
-
- assertTrue( customFieldManager.getCustomFieldObjects(targetProject.getId(), "1")*.name.contains("TextFieldA") )
- assertTrue (projectComponentManager.findAllForProject(targetProject.getId())*.name.contains("Comp1"))
- assertNotNull versionManager.getVersion(targetProject.getId(), "Version1")
-
- // do a basic check that there are at least some issues in the newly-created project
- def searchRequest = FilterUtils.getOrCreateSearchRequest([(FilterUtils.FIELD_PROJECT_ID): targetProject.id])
- def results = FilterUtils.getSearchResults(searchRequest)
- assertTrue results.issues.size() > 0
- }
- }