PageRenderTime 34ms CodeModel.GetById 7ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/resources/com/onresolve/jira/groovy/test/TestCopyProject.groovy

https://bitbucket.org/sorin/jira-plugin-intellij
Groovy | 106 lines | 74 code | 24 blank | 8 comment | 1 complexity | 770d90d5213b67480fea88f46d306878 MD5 | raw file
  1. package com.onresolve.jira.groovy.test
  2. import com.atlassian.core.ofbiz.CoreFactory
  3. import com.atlassian.jira.ComponentManager
  4. import com.atlassian.jira.action.ActionNames
  5. import com.atlassian.jira.project.Project
  6. import com.atlassian.jira.project.ProjectManager
  7. import com.onresolve.jira.groovy.canned.admin.CopyProject
  8. import org.apache.log4j.Category
  9. import org.junit.Before
  10. import org.junit.Test
  11. import org.ofbiz.core.entity.GenericValue
  12. import webwork.dispatcher.ActionResult
  13. import static junit.framework.Assert.*
  14. import com.atlassian.jira.bc.project.component.ProjectComponentManager
  15. import com.atlassian.jira.project.version.VersionManager
  16. import com.onresolve.jira.groovy.canned.utils.FilterUtils
  17. import com.atlassian.jira.component.ComponentAccessor
  18. import com.atlassian.jira.issue.IssueInputParametersImpl
  19. /**
  20. * User: jechlin2
  21. * Date: 08/02/11
  22. * Time: 18:51
  23. */
  24. class TestCopyProject extends BaseSubTaskTest {
  25. Category log = Category.getInstance(this.class)
  26. String targetProjectKey = "AAA"
  27. ProjectManager projectManager = componentManager.getProjectManager()
  28. @Before
  29. public void setUp() {
  30. GenericValue targetGv = projectManager.getProjectObjByKey(targetProjectKey)?.genericValue
  31. if (targetGv) {
  32. log.debug ("Delete target project")
  33. def projectService = ComponentManager.getComponentInstanceOfType(com.atlassian.jira.bc.project.ProjectService.class)
  34. def validationResult = projectService.validateDeleteProject(adminUser, targetProjectKey)
  35. assertFalse validationResult.getErrorCollection().hasAnyErrors()
  36. assertFalse projectService.deleteProject(adminUser, validationResult).errorCollection.hasAnyErrors()
  37. }
  38. assertNotNull(customFieldManager.getCustomFieldObjectByName("TextFieldA"))
  39. createIssue()
  40. }
  41. public void createIssue() {
  42. log.debug ("setUp")
  43. log.debug ("issueType: ${issueType.getName()}")
  44. assertNotNull(project)
  45. // ComponentAccessor.getIssueService().validateCreate(adminUser, new IssueInputParametersImpl())
  46. issue = componentManager.getIssueFactory().getIssue()
  47. issue.setProject(project.getGenericValue())
  48. issue.setSummary "my summary"
  49. issue.setReporterId "admin"
  50. issue.setIssueType issueType.getGenericValue()
  51. issue.setPriorityId('2')
  52. ProjectComponentManager projectComponentManager = componentManager.getProjectComponentManager()
  53. VersionManager versionManager = componentManager.getVersionManager()
  54. issue.setComponents(projectComponentManager.findAllForProject(project.id).collect{it.genericValue})
  55. issue.setAffectedVersions(versionManager.getVersions(project.id))
  56. issue.setFixVersions(versionManager.getVersions(project.id))
  57. issueManager.createIssue(adminUser, issue);
  58. log.debug ("Created issue: $issue")
  59. }
  60. @Test
  61. public void testCopyProject() {
  62. // todo: check doValidate as well
  63. Map inputs = [
  64. (CopyProject.FIELD_SOURCE_PROJECT) : project.getKey(),
  65. (CopyProject.FIELD_TARGET_PROJECT) : targetProjectKey,
  66. (CopyProject.FIELD_TARGET_PROJECT_NAME) : "Copied Project",
  67. (CopyProject.FIELD_COPY_VERSIONS) : true,
  68. (CopyProject.FIELD_COPY_COMPONENTS) : true,
  69. (CopyProject.FIELD_COPY_ISSUES) : true,
  70. ]
  71. Map params = new CopyProject().doScript(inputs)
  72. Project targetProject = projectManager.getProjectObjByKey(targetProjectKey)
  73. assertNotNull(targetProject)
  74. assertTrue( customFieldManager.getCustomFieldObjects(targetProject.getId(), "1")*.name.contains("TextFieldA") )
  75. assertTrue (projectComponentManager.findAllForProject(targetProject.getId())*.name.contains("Comp1"))
  76. assertNotNull versionManager.getVersion(targetProject.getId(), "Version1")
  77. // do a basic check that there are at least some issues in the newly-created project
  78. def searchRequest = FilterUtils.getOrCreateSearchRequest([(FilterUtils.FIELD_PROJECT_ID): targetProject.id])
  79. def results = FilterUtils.getSearchResults(searchRequest)
  80. assertTrue results.issues.size() > 0
  81. }
  82. }