From 77c5195d10913adbf512efb066a58d35022db80b Mon Sep 17 00:00:00 2001 From: Roberto E. Escobar Date: Thu, 29 Nov 2012 11:22:33 -0700 Subject: feature[ats_TL5SF]: Add ATS tests to maven Create ATS client integration test bundle Separate junit tests from integration tests Add profile to build ATS individually Move enumerations from support.test.util into ats.client.demo Change-Id: I12dc0b9e2e144413e2272043adfd39920ada6f96 --- .../.classpath | 7 - .../org.eclipse.osee.ats.client.demo.test/.project | 28 - .../META-INF/MANIFEST.MF | 14 - .../build.properties | 4 - .../ats/client/demo/PopulateDemoActionsTest.java | 520 ------------ .../client/demo/config/DemoDatabaseConfigTest.java | 163 ---- .../ats/client/demo/config/DemoDbGroupsTest.java | 57 -- .../META-INF/MANIFEST.MF | 2 +- .../osee/ats/client/demo/DemoActionableItems.java | 56 ++ .../osee/ats/client/demo/DemoArtifactTypes.java | 30 + .../eclipse/osee/ats/client/demo/DemoChoice.java | 22 + .../eclipse/osee/ats/client/demo/DemoGroups.java | 24 + .../osee/ats/client/demo/DemoSawBuilds.java | 28 + .../org/eclipse/osee/ats/client/demo/DemoTeam.java | 31 + .../eclipse/osee/ats/client/demo/DemoUsers.java | 40 + .../org/eclipse/osee/ats/client/demo/DemoUtil.java | 53 ++ .../eclipse/osee/ats/client/demo/DemoWorkType.java | 24 + .../osee/ats/client/demo/PopulateDemoActions.java | 2 - .../ats/client/demo/PopulateSawBuild2Actions.java | 1 - .../demo/artifact/DemoArtifactImageProvider.java | 2 +- .../client/demo/artifact/DemoTeamWorkflows.java | 2 +- .../client/demo/config/AddDbInitDemoChoice.java | 9 +- .../client/demo/config/AtsConfigAddDemoUsers.java | 2 +- .../ats/client/demo/config/DemoDatabaseConfig.java | 4 +- .../osee/ats/client/demo/config/DemoDbGroups.java | 4 +- .../osee/ats/client/demo/config/DemoDbReviews.java | 4 +- .../osee/ats/client/demo/config/DemoDbTasks.java | 2 +- .../osee/ats/client/demo/config/DemoDbUtil.java | 35 +- .../demo/navigate/DemoNavigateViewItems.java | 2 +- .../.classpath | 7 + .../.gitignore | 1 + .../.pmd | 925 +++++++++++++++++++++ .../.project | 28 + .../AtsClient_Integration_TestSuite.launch | 70 ++ .../META-INF/MANIFEST.MF | 43 + .../build.properties | 16 + .../logback-test.xml | 29 + .../osee-application-server.xml | 157 ++++ .../pom.xml | 203 +++++ .../integration/AtsClientIntegrationTestSuite.java | 31 + .../integration/tests/AtsTest_AllAts_Suite.java | 60 ++ .../client/integration/tests/DemoDbGroupsTest.java | 56 ++ .../integration/tests/DemoDbPopulateSuite.java | 48 ++ .../integration/tests/DirtyArtifactCacheTest.java | 39 + .../integration/tests/PopulateDemoActionsTest.java | 521 ++++++++++++ .../tests/PopulateDemoDatabaseTest.java | 67 ++ .../integration/tests/ats/AtsTest_Ats_Suite.java | 63 ++ .../ats/access/AtsBranchAccessManagerTest.java | 205 +++++ .../tests/ats/access/AtsTest_Access_Suite.java | 37 + .../actions/AbstractAtsActionPerspectiveTest.java | 29 + .../ats/actions/AbstractAtsActionRunTest.java | 36 + .../tests/ats/actions/AbstractAtsActionTest.java | 38 + .../tests/ats/actions/AccessControlActionTest.java | 61 ++ .../tests/ats/actions/AddNoteActionTest.java | 44 + .../tests/ats/actions/AtsTest_Action_Suite.java | 76 ++ .../ats/actions/CopyActionDetailsActionTest.java | 22 + .../actions/DeletePurgeAtsArtifactsActionTest.java | 34 + .../tests/ats/actions/DirtyReportActionTest1.java | 37 + .../tests/ats/actions/DirtyReportActionTest2.java | 37 + .../ats/actions/DuplicateWorkflowActionTest.java | 23 + .../DuplicateWorkflowViaWorldEditorActionTest.java | 32 + .../tests/ats/actions/FavoriteActionTest.java | 42 + .../ats/actions/ImportTasksViaSimpleListTest.java | 37 + .../ats/actions/ImportTasksViaSpreadsheetTest.java | 36 + .../tests/ats/actions/MyFavoritesActionTest.java | 31 + .../tests/ats/actions/MyWorldActionTest.java | 31 + .../integration/tests/ats/actions/NewGoalTest.java | 43 + .../ats/actions/OpenAtsPerspectiveActionTest.java | 21 + .../actions/OpenChangeReportByIdActionTest.java | 44 + .../actions/OpenInArtifactEditorActionTest.java | 21 + .../actions/OpenInAtsWorkflowEditorActionTest.java | 27 + .../ats/actions/OpenInAtsWorldActionTest1.java | 34 + .../ats/actions/OpenInAtsWorldActionTest2.java | 22 + .../ats/actions/OpenInAtsWorldActionTest3.java | 37 + .../ats/actions/OpenInSkyWalkerActionTest.java | 22 + .../actions/OpenNewAtsTaskEditorActionTest.java | 78 ++ .../actions/OpenNewAtsTaskEditorSelectedTest.java | 37 + .../actions/OpenNewAtsWorldEditorActionTest.java | 74 ++ .../OpenNewAtsWorldEditorSelectedActionTest.java | 37 + .../tests/ats/actions/OpenParentActionTest.java | 22 + .../actions/OpenReviewPerspectiveActionTest.java | 21 + .../ats/actions/OpenWorkflowByIdActionTest.java | 26 + .../tests/ats/actions/OpenWorldByIdActionTest.java | 25 + .../tests/ats/actions/RefreshDirtyActionTest.java | 27 + .../tests/ats/actions/ReloadActionTest.java | 22 + .../ats/actions/ResourceHistoryActionTest.java | 39 + .../actions/ShowBranchChangeDataActionTest.java | 39 + .../ats/actions/ShowChangeReportActionTest.java | 41 + .../ats/actions/ShowMergeManagerActionTest.java | 42 + .../ats/actions/ShowWorkDefinitionActionTest.java | 20 + .../tests/ats/actions/SubscribedActionTest.java | 42 + .../tests/ats/actions/TaskAddActionTest.java | 27 + .../tests/ats/artifact/log/AtsLogTest.java | 70 ++ .../tests/ats/artifact/log/AtsTest_Log_Suite.java | 38 + .../tests/ats/artifact/log/LogItemTest.java | 88 ++ .../ats/column/ActionableItemsColumnTest.java | 67 ++ .../tests/ats/column/AssigneeColumnUITest.java | 64 ++ .../tests/ats/column/AtsTest_Column_Suite.java | 64 ++ .../tests/ats/column/BranchStatusColumnTest.java | 54 ++ .../tests/ats/column/CancelledDateColumnTest.java | 94 +++ .../tests/ats/column/CategoryColumnTest.java | 121 +++ .../tests/ats/column/ChangeTypeColumnTest.java | 82 ++ .../tests/ats/column/CompletedDateColumnTest.java | 93 +++ .../tests/ats/column/CreatedDateColumnTest.java | 47 ++ .../tests/ats/column/DeadlineColumnTest.java | 79 ++ .../tests/ats/column/DescriptionColumnTest.java | 44 + .../tests/ats/column/EstimatedHoursColumnTest.java | 123 +++ .../tests/ats/column/GroupsColumnTest.java | 43 + .../NumberOfTasksAndInWorkTasksColumnsTest.java | 80 ++ .../tests/ats/column/OriginatorColumnTest.java | 46 + .../ats/column/ParentStateAndIdColumnTest.java | 58 ++ .../ats/column/PeerToPeerReviewColumnsTest.java | 145 ++++ .../tests/ats/column/PriorityColumnTest.java | 57 ++ .../tests/ats/column/RelatedToStateColumnTest.java | 61 ++ .../tests/ats/column/StateColumnTest.java | 45 + .../ats/column/TargetedVersionColumnTest.java | 58 ++ .../tests/ats/column/TeamColumnTest.java | 47 ++ .../tests/ats/column/TypeColumnTest.java | 48 ++ .../ats/config/AtsBranchConfigurationTest.java | 461 ++++++++++ .../tests/ats/config/AtsTest_Config_Suite.java | 40 + .../ats/config/copy/AtsTest_Demo_Copy_Suite.java | 42 + .../tests/ats/config/copy/ConfigDataTest.java | 90 ++ .../copy/CopyAtsConfigurationOperationTest.java | 79 ++ .../tests/ats/config/copy/CopyAtsUtilTest.java | 32 + .../ats/config/copy/CopyAtsValidationTest.java | 75 ++ .../tests/ats/core/client/AtsCoreClient_Suite.java | 52 ++ .../tests/ats/core/client/AtsTestUtil.java | 754 +++++++++++++++++ .../tests/ats/core/client/AtsTestUtilTest.java | 190 +++++ .../client/branch/AtsBranchManagerCoreTest.java | 101 +++ .../client/branch/AtsCoreClient_Branch_Suite.java | 38 + .../AtsActionableItemToTeamDefinitionTest.java | 45 + .../client/config/AtsCoreClient_Config_Suite.java | 36 + .../config/store/AtsCoreClient_Store_Suite.java | 38 + .../config/store/VersionArtifactStoreTest.java | 145 ++++ .../client/notify/AtsCoreClient_Notify_Suite.java | 35 + .../client/notify/AtsNotificationManagerTest.java | 602 ++++++++++++++ .../ats/core/client/notify/AtsNotifyUsersTest.java | 276 ++++++ .../client/notify/MockNotificationManager.java | 45 + .../operation/AtsCoreClient_Operation_Suite.java | 35 + .../operation/MoveTeamWorkflowsOperationTest.java | 50 ++ .../client/review/AtsCoreClient_Review_Suite.java | 39 + .../DecisionReviewDefinitionManagerTest.java | 146 ++++ .../client/review/DecisionReviewManagerTest.java | 171 ++++ .../review/PeerReviewDefinitionManagerTest.java | 97 +++ .../client/review/PeerToPeerReviewManagerTest.java | 95 +++ .../core/client/task/AtsCoreClient_Task_Suite.java | 36 + .../ats/core/client/task/TaskManagerTest.java | 166 ++++ .../AtsCoreClient_CreateTasks_Suite.java | 38 + .../task/createTasks/CreateTasksOperationTest.java | 507 +++++++++++ .../core/client/util/AtsCoreClient_Util_Suite.java | 35 + .../tests/ats/core/client/util/AtsUserTest.java | 123 +++ .../core/client/util/CopyActionDetailsTest.java | 67 ++ .../workflow/AtsCoreClient_Workflow_Suite.java | 40 + .../ConvertWorkflowStatesOperationTest.java | 150 ++++ .../ats/core/client/workflow/note/AtsNoteTest.java | 75 ++ .../core/client/workflow/note/NoteItemTest.java | 103 +++ .../core/client/workflow/note/NoteTestSuite.java | 23 + .../transition/AtsCoreClient_Transition_Suite.java | 35 + .../workflow/transition/MockTransitionHelper.java | 106 +++ .../workflow/transition/StateManagerTest.java | 68 ++ .../workflow/transition/TransitionManagerTest.java | 608 ++++++++++++++ .../tests/ats/editor/AtsTest_Editor_Suite.java | 39 + .../integration/tests/ats/editor/SMAPrintTest.java | 89 ++ .../AtsDecisionReviewDecisionStateItemTest.java | 138 +++ .../AtsDecisionReviewPrepareStateItemTest.java | 93 +++ .../AtsForceAssigneesToTeamLeadsStateItemTest.java | 105 +++ .../AtsPeerToPeerReviewPrepareStateItemTest.java | 100 +++ .../AtsPeerToPeerReviewReviewStateItemTest.java | 118 +++ .../stateItem/AtsTest_Demo_StateItem_Suite.java | 44 + .../tests/ats/health/AtsTest_Health_Suite.java | 38 + .../ats/health/AtsValidateAtsDatabaseTest.java | 51 ++ .../navigate/AtsNavigateItemsToMassEditorTest.java | 96 +++ .../navigate/AtsNavigateItemsToTaskEditorTest.java | 159 ++++ .../navigate/AtsNavigateItemsToWorldViewTest.java | 712 ++++++++++++++++ .../tests/ats/navigate/AtsTest_Navigate_Suite.java | 41 + .../tests/ats/navigate/CustomizeTableDialog.java | 53 ++ .../tests/ats/render/AtsTest_Renderer_Suite.java | 38 + .../tests/ats/render/RendererManagerTest.java | 199 +++++ .../tests/ats/review/AtsTest_Review_Suite.java | 37 + .../review/ReviewNavigateItemsToWorldViewTest.java | 139 ++++ .../ats/review/ReviewWorldSearchItemDemoTest.java | 97 +++ .../tests/ats/util/AbstractImageManagerTest.java | 145 ++++ .../tests/ats/util/AtsDeleteManagerTest.java | 243 ++++++ .../integration/tests/ats/util/AtsImageTest.java | 24 + .../tests/ats/util/AtsTest_Util_Suite.java | 42 + .../tests/ats/util/AtsXWidgetsExampleBlamTest.java | 59 ++ .../CreateActionUsingAllActionableItemsTest.java | 57 ++ .../ats/util/ImportActionsViaSpreadsheetTest.java | 102 +++ .../tests/ats/workflow/AtsTest_Workflow_Suite.java | 38 + .../ats/workflow/SMAPromptChangeStatusTest.java | 187 +++++ .../world/search/AtsTest_World_Search_Suite.java | 33 + .../world/search/LegacyPcrIdQuickSearchTest.java | 72 ++ .../search/TeamDefinitionQuickSearchTest.java | 61 ++ .../client/integration/tests/util/DbInitTest.java | 76 ++ .../integration/tests/util/DemoTestUtil.java | 235 ++++++ .../integration/tests/util/NavigateTestUtil.java | 150 ++++ .../integration/tests/util/WorldEditorUtil.java | 29 + .../META-INF/MANIFEST.MF | 5 +- .../org.eclipse.osee.ats.core.client.test/pom.xml | 31 + .../ats/core/client/AllAtsCoreClientTestSuite.java | 26 + .../ats/core/client/AtsCoreClient_JT_Suite.java | 38 - .../ats/core/client/AtsCoreClient_PT_Suite.java | 52 -- .../client/AtsCoreClient_Production_Suite.java | 38 - .../eclipse/osee/ats/core/client/AtsTestUtil.java | 754 ----------------- .../osee/ats/core/client/AtsTestUtilTest.java | 190 ----- .../client/branch/AtsBranchManagerCoreTest.java | 100 --- .../AtsActionableItemToTeamDefinitionTest.java | 44 - .../config/AtsCoreClient_Config_Demo_PT_Suite.java | 38 - .../AtsCoreClient_Config_Production_PT_Suite.java | 37 - .../config/store/VersionArtifactStoreTest.java | 144 ---- .../notify/AtsCoreClient_Notify_PT_Suite.java | 37 - .../client/notify/AtsNotificationManagerTest.java | 594 ------------- .../ats/core/client/notify/AtsNotifyUsersTest.java | 269 ------ .../client/notify/MockNotificationManager.java | 45 - .../AtsCoreClient_Operation_PT_Suite.java | 37 - .../operation/MoveTeamWorkflowsOperationTest.java | 48 -- .../review/AtsCoreClient_Review_JT_Suite.java | 45 - .../review/AtsCoreClient_Review_PT_Suite.java | 41 - .../DecisionReviewDefinitionManagerTest.java | 141 ---- .../client/review/DecisionReviewManagerTest.java | 168 ---- .../review/PeerReviewDefinitionManagerTest.java | 93 --- .../client/review/PeerToPeerReviewManagerTest.java | 92 -- .../ats/core/client/review/ReviewTestSuite.java | 33 + .../review/defect/AtsXDefectValidatorTest.java | 1 - .../client/review/defect/MockValueProvider.java | 55 ++ .../client/review/defect/ValidatorTestUtil.java | 31 + .../review/role/AtsXUserRoleValidatorTest.java | 2 +- .../client/task/AtsCoreClient_Task_PT_Suite.java | 38 - .../osee/ats/core/client/task/TaskManagerTest.java | 163 ---- .../task/createTasks/CreateTasksOperationTest.java | 507 ----------- .../client/util/AtsCoreClient_Util_PT_Suite.java | 37 - .../osee/ats/core/client/util/AtsUserTest.java | 121 --- .../core/client/util/CopyActionDetailsTest.java | 67 -- .../workflow/AtsCoreClient_Workflow_PT_Suite.java | 37 - .../ConvertWorkflowStatesOperationTest.java | 144 ---- .../AtsCoreClient_Transition_PT_Suite.java | 37 - .../workflow/transition/MockTransitionHelper.java | 104 --- .../workflow/transition/StateManagerTest.java | 65 -- .../workflow/transition/TransitionManagerTest.java | 595 ------------- .../META-INF/MANIFEST.MF | 1 + .../core/client/notify/AtsNotificationManager.java | 2 +- .../ats/core/client/workflow/StateManager.java | 1 + plugins/org.eclipse.osee.ats.core.test/pom.xml | 31 + .../eclipse/osee/ats/core/AllAtsCoreTestSuite.java | 41 + .../eclipse/osee/ats/core/AtsCore_JT_Suite.java | 55 -- .../core/config/internal/TeamDefinitionTest.java | 56 ++ .../model/impl/AtsCore_ModelImpl_JT_Suite.java | 14 +- .../core/model/impl/WorkStateProviderImplTest.java | 56 +- .../transition/AtsCore_Transition_JT_Suite.java | 14 +- .../osee/ats/core/util/AtsCore_Util_JT_Suite.java | 14 +- .../ats/core/workdef/AtsCore_WorkDef_JT_Suite.java | 16 +- .../provider/AtsCore_WorkDefProvider_JT_Suite.java | 14 +- .../core/workflow/AtsCore_Workflow_JT_Suite.java | 14 +- .../ats/core/model/impl/WorkStateProviderImpl.java | 9 +- .../META-INF/MANIFEST.MF | 19 +- .../build.properties | 2 + plugins/org.eclipse.osee.ats.impl.test/pom.xml | 31 + .../eclipse/osee/ats/impl/AllAtsImplTestSuite.java | 25 + .../osee/ats/impl/internal/AtsImpl_JT_Suite.java | 39 - .../impl/internal/convert/ConvertTestSuite.java | 23 + .../internal/model/AtsCore_WorkDef_JT_Suite.java | 48 -- .../ats/impl/internal/model/ModelTestSuite.java | 38 + .../impl/internal/query/AtsImpl_Query_Suite.java | 35 - .../osee/ats/impl/internal/query/AtsQueryTest.java | 53 -- .../org.eclipse.osee.ats.impl/META-INF/MANIFEST.MF | 2 +- .../impl/internal/model/AbstractWorkDefItem.java | 1 + plugins/org.eclipse.osee.ats.parent/pom.xml | 24 +- plugins/org.eclipse.osee.ats.test/.classpath | 7 - plugins/org.eclipse.osee.ats.test/.pmd | 925 --------------------- plugins/org.eclipse.osee.ats.test/.project | 28 - .../org.eclipse.osee.ats.test/META-INF/MANIFEST.MF | 27 - plugins/org.eclipse.osee.ats.test/build.properties | 4 - .../osee/ats/AtsTest_Demo_Access_Suite.java | 38 - .../osee/ats/AtsTest_Demo_Column_Suite.java | 85 -- .../osee/ats/AtsTest_Demo_Config_Suite.java | 49 -- .../osee/ats/AtsTest_Demo_StateItem_Suite.java | 49 -- .../org/eclipse/osee/ats/AtsTest_Demo_Suite.java | 86 -- .../eclipse/osee/ats/AtsTest_Demo_Util_Suite.java | 38 - .../eclipse/osee/ats/AtsTest_Production_Suite.java | 36 - .../org/eclipse/osee/ats/Review_Demo_Suite.java | 39 - .../ats/access/AtsBranchAccessManagerTest.java | 222 ----- .../actions/AbstractAtsActionPerspectiveTest.java | 29 - .../osee/ats/actions/AbstractAtsActionRunTest.java | 35 - .../osee/ats/actions/AbstractAtsActionTest.java | 38 - .../osee/ats/actions/AccessControlActionTest.java | 61 -- .../osee/ats/actions/AddNoteActionTest.java | 43 - .../ats/actions/AtsTest_Demo_Action_Suite.java | 76 -- .../ats/actions/CopyActionDetailsActionTest.java | 21 - .../actions/DeletePurgeAtsArtifactsActionTest.java | 33 - .../osee/ats/actions/DirtyReportActionTest.java | 35 - .../osee/ats/actions/DirtyReportActionTest2.java | 35 - .../ats/actions/DuplicateWorkflowActionTest.java | 22 - .../DuplicateWorkflowViaWorldEditorActionTest.java | 31 - .../osee/ats/actions/FavoriteActionTest.java | 41 - .../ats/actions/ImportTasksViaSimpleListTest.java | 35 - .../ats/actions/ImportTasksViaSpreadsheetTest.java | 34 - .../osee/ats/actions/MyFavoritesActionTest.java | 30 - .../osee/ats/actions/MyWorldActionTest.java | 30 - .../org/eclipse/osee/ats/actions/NewGoalTest.java | 41 - .../ats/actions/OpenAtsPerspectiveActionTest.java | 20 - .../actions/OpenChangeReportByIdActionTest.java | 43 - .../actions/OpenInArtifactEditorActionTest.java | 21 - .../actions/OpenInAtsWorkflowEditorActionTest.java | 26 - .../osee/ats/actions/OpenInAtsWorldActionTest.java | 33 - .../ats/actions/OpenInAtsWorldActionTest2.java | 21 - .../ats/actions/OpenInAtsWorldActionTest3.java | 36 - .../ats/actions/OpenInSkyWalkerActionTest.java | 21 - .../actions/OpenNewAtsTaskEditorActionTest.java | 77 -- .../actions/OpenNewAtsTaskEditorSelectedTest.java | 36 - .../actions/OpenNewAtsWorldEditorActionTest.java | 73 -- .../OpenNewAtsWorldEditorSelectedActionTest.java | 36 - .../osee/ats/actions/OpenParentActionTest.java | 21 - .../actions/OpenReviewPerspectiveActionTest.java | 20 - .../ats/actions/OpenWorkflowByIdActionTest.java | 25 - .../osee/ats/actions/OpenWorldByIdActionTest.java | 24 - .../osee/ats/actions/RefreshDirtyActionTest.java | 26 - .../eclipse/osee/ats/actions/ReloadActionTest.java | 21 - .../ats/actions/ResourceHistoryActionTest.java | 38 - .../actions/ShowBranchChangeDataActionTest.java | 38 - .../ats/actions/ShowChangeReportActionTest.java | 40 - .../ats/actions/ShowMergeManagerActionTest.java | 41 - .../ats/actions/ShowWorkDefinitionActionTest.java | 19 - .../osee/ats/actions/SubscribedActionTest.java | 41 - .../osee/ats/actions/TaskAddActionTest.java | 26 - .../eclipse/osee/ats/artifact/log/AtsLogTest.java | 70 -- .../eclipse/osee/ats/artifact/log/LogItemTest.java | 87 -- .../osee/ats/artifact/note/AtsNoteTest.java | 75 -- .../osee/ats/artifact/note/NoteItemTest.java | 103 --- .../osee/ats/column/ActionableItemsColumnTest.java | 66 -- .../osee/ats/column/AssigneeColumnUITest.java | 62 -- .../osee/ats/column/BranchStatusColumnTest.java | 53 -- .../osee/ats/column/CancelledDateColumnTest.java | 93 --- .../osee/ats/column/CategoryColumnTest.java | 120 --- .../osee/ats/column/ChangeTypeColumnTest.java | 81 -- .../osee/ats/column/CompletedDateColumnTest.java | 92 -- .../osee/ats/column/CreatedDateColumnTest.java | 46 - .../osee/ats/column/DeadlineColumnTest.java | 78 -- .../osee/ats/column/DescriptionColumnTest.java | 43 - .../osee/ats/column/EstimatedHoursColumnTest.java | 123 --- .../eclipse/osee/ats/column/GroupsColumnTest.java | 42 - .../NumberOfTasksAndInWorkTasksColumnsTest.java | 78 -- .../osee/ats/column/OriginatorColumnTest.java | 45 - .../ats/column/ParentStateAndIdColumnTest.java | 56 -- .../ats/column/PeerToPeerReviewColumnsTest.java | 139 ---- .../osee/ats/column/PriorityColumnTest.java | 56 -- .../osee/ats/column/RelatedToStateColumnTest.java | 60 -- .../eclipse/osee/ats/column/StateColumnTest.java | 44 - .../osee/ats/column/TargetedVersionColumnTest.java | 57 -- .../eclipse/osee/ats/column/TeamColumnTest.java | 46 - .../eclipse/osee/ats/column/TypeColumnTest.java | 47 -- .../ats/config/AtsBranchConfigurationTest.java | 456 ---------- .../osee/ats/config/copy/ConfigDataTest.java | 89 -- .../copy/CopyAtsConfigurationOperationTest.java | 77 -- .../osee/ats/config/copy/CopyAtsUtilTest.java | 30 - .../ats/config/copy/CopyAtsValidationTest.java | 73 -- .../org/eclipse/osee/ats/editor/SMAPrintTest.java | 88 -- .../AtsDecisionReviewDecisionStateItemTest.java | 137 --- .../AtsDecisionReviewPrepareStateItemTest.java | 92 -- .../AtsForceAssigneesToTeamLeadsStateItemTest.java | 104 --- .../AtsPeerToPeerReviewPrepareStateItemTest.java | 99 --- .../AtsPeerToPeerReviewReviewStateItemTest.java | 117 --- .../ats/health/AtsValidateAtsDatabaseTest.java | 50 -- .../navigate/AtsNavigateItemsToMassEditorTest.java | 97 --- .../navigate/AtsNavigateItemsToTaskEditorTest.java | 159 ---- .../navigate/AtsNavigateItemsToWorldViewTest.java | 701 ---------------- .../osee/ats/navigate/AtsUserCommunity.java | 22 - .../osee/ats/render/RendererManagerTest.java | 199 ----- .../review/ReviewNavigateItemsToWorldViewTest.java | 129 --- .../ats/review/ReviewWorldSearchItemDemoTest.java | 96 --- .../osee/ats/util/AtsDeleteManagerTest.java | 240 ------ .../org/eclipse/osee/ats/util/AtsImageTest.java | 24 - .../osee/ats/util/AtsQueryPerformanceTests.java | 68 -- .../osee/ats/util/AtsXWidgetsExampleBlamTest.java | 59 -- .../CreateActionUsingAllActionableItemsTest.java | 55 -- .../osee/ats/util/CustomizeDemoTableTestUtil.java | 53 -- .../org/eclipse/osee/ats/util/DemoTestUtil.java | 235 ------ .../eclipse/osee/ats/util/ImageManagerTest.java | 143 ---- .../ats/util/ImportActionsViaSpreadsheetTest.java | 101 --- .../org/eclipse/osee/ats/util/MassEditorUtil.java | 29 - .../eclipse/osee/ats/util/NavigateTestUtil.java | 151 ---- .../src/org/eclipse/osee/ats/util/SMATestUtil.java | 61 -- .../org/eclipse/osee/ats/util/WorldEditorUtil.java | 29 - .../ats/workflow/SMAPromptChangeStatusTest.java | 154 ---- .../search/AtsTest_Demo_World_Search_Suite.java | 33 - .../world/search/LegacyPcrIdQuickSearchTest.java | 72 -- .../search/TeamDefinitionQuickSearchTest.java | 60 -- plugins/org.eclipse.osee.ats/META-INF/MANIFEST.MF | 1 + .../org/eclipse/osee/ats/editor/SMAMembersTab.java | 24 +- .../support/test/util/DemoActionableItems.java | 56 -- .../osee/support/test/util/DemoArtifactTypes.java | 30 - .../osee/support/test/util/DemoSawBuilds.java | 28 - .../eclipse/osee/support/test/util/DemoTeam.java | 31 - .../eclipse/osee/support/test/util/DemoUsers.java | 40 - .../osee/support/test/util/DemoWorkType.java | 24 - 394 files changed, 16713 insertions(+), 15771 deletions(-) delete mode 100644 plugins/org.eclipse.osee.ats.client.demo.test/.classpath delete mode 100644 plugins/org.eclipse.osee.ats.client.demo.test/.project delete mode 100644 plugins/org.eclipse.osee.ats.client.demo.test/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.osee.ats.client.demo.test/build.properties delete mode 100644 plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/PopulateDemoActionsTest.java delete mode 100644 plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/config/DemoDatabaseConfigTest.java delete mode 100644 plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/config/DemoDbGroupsTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoActionableItems.java create mode 100644 plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoArtifactTypes.java create mode 100644 plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoChoice.java create mode 100644 plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoGroups.java create mode 100644 plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoSawBuilds.java create mode 100644 plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoTeam.java create mode 100644 plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoUsers.java create mode 100644 plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoUtil.java create mode 100644 plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoWorkType.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/.classpath create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/.gitignore create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/.pmd create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/.project create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/AtsClient_Integration_TestSuite.launch create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/build.properties create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/logback-test.xml create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/osee-application-server.xml create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/pom.xml create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/AtsClientIntegrationTestSuite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/AtsTest_AllAts_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DemoDbGroupsTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DemoDbPopulateSuite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DirtyArtifactCacheTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/PopulateDemoActionsTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/PopulateDemoDatabaseTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/AtsTest_Ats_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/access/AtsBranchAccessManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/access/AtsTest_Access_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionPerspectiveTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionRunTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AccessControlActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AddNoteActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AtsTest_Action_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/CopyActionDetailsActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DeletePurgeAtsArtifactsActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DirtyReportActionTest1.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DirtyReportActionTest2.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DuplicateWorkflowActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DuplicateWorkflowViaWorldEditorActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/FavoriteActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ImportTasksViaSimpleListTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ImportTasksViaSpreadsheetTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/MyFavoritesActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/MyWorldActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/NewGoalTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenAtsPerspectiveActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenChangeReportByIdActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInArtifactEditorActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorkflowEditorActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest1.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest2.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest3.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInSkyWalkerActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsTaskEditorActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsTaskEditorSelectedTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsWorldEditorActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsWorldEditorSelectedActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenParentActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenReviewPerspectiveActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenWorkflowByIdActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenWorldByIdActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/RefreshDirtyActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ReloadActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ResourceHistoryActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowBranchChangeDataActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowChangeReportActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowMergeManagerActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowWorkDefinitionActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/SubscribedActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/TaskAddActionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/AtsLogTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/AtsTest_Log_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/LogItemTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ActionableItemsColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/AssigneeColumnUITest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/AtsTest_Column_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/BranchStatusColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CancelledDateColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CategoryColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ChangeTypeColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CompletedDateColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CreatedDateColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/DeadlineColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/DescriptionColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/EstimatedHoursColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/GroupsColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/NumberOfTasksAndInWorkTasksColumnsTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/OriginatorColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ParentStateAndIdColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PeerToPeerReviewColumnsTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PriorityColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/RelatedToStateColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/StateColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TargetedVersionColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TeamColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TypeColumnTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsBranchConfigurationTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsTest_Config_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/AtsTest_Demo_Copy_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/ConfigDataTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsConfigurationOperationTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsUtilTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsValidationTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsCoreClient_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtil.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtilTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsBranchManagerCoreTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsCoreClient_Branch_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/AtsActionableItemToTeamDefinitionTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/AtsCoreClient_Config_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/store/AtsCoreClient_Store_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/store/VersionArtifactStoreTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsCoreClient_Notify_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotificationManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotifyUsersTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/MockNotificationManager.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/operation/AtsCoreClient_Operation_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/operation/MoveTeamWorkflowsOperationTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/AtsCoreClient_Review_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/DecisionReviewDefinitionManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/DecisionReviewManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/PeerReviewDefinitionManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/PeerToPeerReviewManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/AtsCoreClient_Task_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/TaskManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/createTasks/AtsCoreClient_CreateTasks_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/createTasks/CreateTasksOperationTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/AtsCoreClient_Util_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/AtsUserTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/CopyActionDetailsTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/AtsCoreClient_Workflow_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/ConvertWorkflowStatesOperationTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/AtsNoteTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/NoteItemTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/NoteTestSuite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/AtsCoreClient_Transition_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/MockTransitionHelper.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/StateManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/TransitionManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/AtsTest_Editor_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/SMAPrintTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsTest_Demo_StateItem_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/health/AtsTest_Health_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/health/AtsValidateAtsDatabaseTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToMassEditorTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToTaskEditorTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToWorldViewTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsTest_Navigate_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/CustomizeTableDialog.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/render/AtsTest_Renderer_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/render/RendererManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/AtsTest_Review_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewNavigateItemsToWorldViewTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewWorldSearchItemDemoTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AbstractImageManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsDeleteManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsImageTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsTest_Util_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsXWidgetsExampleBlamTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/CreateActionUsingAllActionableItemsTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/ImportActionsViaSpreadsheetTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/workflow/AtsTest_Workflow_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/workflow/SMAPromptChangeStatusTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/AtsTest_World_Search_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/LegacyPcrIdQuickSearchTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/TeamDefinitionQuickSearchTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/DbInitTest.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/DemoTestUtil.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/NavigateTestUtil.java create mode 100644 plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/WorldEditorUtil.java create mode 100644 plugins/org.eclipse.osee.ats.core.client.test/pom.xml create mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AllAtsCoreClientTestSuite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_JT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_PT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_Production_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsTestUtil.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsTestUtilTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/branch/AtsBranchManagerCoreTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsActionableItemToTeamDefinitionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsCoreClient_Config_Demo_PT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsCoreClient_Config_Production_PT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/store/VersionArtifactStoreTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsCoreClient_Notify_PT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsNotificationManagerTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsNotifyUsersTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/MockNotificationManager.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/operation/AtsCoreClient_Operation_PT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/operation/MoveTeamWorkflowsOperationTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/AtsCoreClient_Review_JT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/AtsCoreClient_Review_PT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/DecisionReviewDefinitionManagerTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/DecisionReviewManagerTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/PeerReviewDefinitionManagerTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/PeerToPeerReviewManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/ReviewTestSuite.java create mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/MockValueProvider.java create mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/ValidatorTestUtil.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/AtsCoreClient_Task_PT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/TaskManagerTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/createTasks/CreateTasksOperationTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/AtsCoreClient_Util_PT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/AtsUserTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/CopyActionDetailsTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/AtsCoreClient_Workflow_PT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/ConvertWorkflowStatesOperationTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/AtsCoreClient_Transition_PT_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/MockTransitionHelper.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/StateManagerTest.java delete mode 100644 plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/TransitionManagerTest.java create mode 100644 plugins/org.eclipse.osee.ats.core.test/pom.xml create mode 100644 plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/AllAtsCoreTestSuite.java delete mode 100644 plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/AtsCore_JT_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/config/internal/TeamDefinitionTest.java create mode 100644 plugins/org.eclipse.osee.ats.impl.test/pom.xml create mode 100644 plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/AllAtsImplTestSuite.java delete mode 100644 plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/AtsImpl_JT_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/convert/ConvertTestSuite.java delete mode 100644 plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/model/AtsCore_WorkDef_JT_Suite.java create mode 100644 plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/model/ModelTestSuite.java delete mode 100644 plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/query/AtsImpl_Query_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/query/AtsQueryTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/.classpath delete mode 100644 plugins/org.eclipse.osee.ats.test/.pmd delete mode 100644 plugins/org.eclipse.osee.ats.test/.project delete mode 100644 plugins/org.eclipse.osee.ats.test/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.osee.ats.test/build.properties delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Access_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Column_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Config_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_StateItem_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Util_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Production_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/Review_Demo_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/access/AtsBranchAccessManagerTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionPerspectiveTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionRunTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AccessControlActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AddNoteActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AtsTest_Demo_Action_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/CopyActionDetailsActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DeletePurgeAtsArtifactsActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DirtyReportActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DirtyReportActionTest2.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DuplicateWorkflowActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DuplicateWorkflowViaWorldEditorActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/FavoriteActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ImportTasksViaSimpleListTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ImportTasksViaSpreadsheetTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/MyFavoritesActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/MyWorldActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/NewGoalTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenAtsPerspectiveActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenChangeReportByIdActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInArtifactEditorActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorkflowEditorActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest2.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest3.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInSkyWalkerActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorSelectedTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorSelectedActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenParentActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenReviewPerspectiveActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenWorkflowByIdActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenWorldByIdActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/RefreshDirtyActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ReloadActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ResourceHistoryActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowBranchChangeDataActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowChangeReportActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowMergeManagerActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowWorkDefinitionActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/SubscribedActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/TaskAddActionTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/log/AtsLogTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/log/LogItemTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/note/AtsNoteTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/note/NoteItemTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ActionableItemsColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/AssigneeColumnUITest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/BranchStatusColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CancelledDateColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CategoryColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ChangeTypeColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CompletedDateColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CreatedDateColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/DeadlineColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/DescriptionColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/EstimatedHoursColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/GroupsColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/NumberOfTasksAndInWorkTasksColumnsTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/OriginatorColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ParentStateAndIdColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/PeerToPeerReviewColumnsTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/PriorityColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/RelatedToStateColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/StateColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TargetedVersionColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TeamColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TypeColumnTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/AtsBranchConfigurationTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/ConfigDataTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsConfigurationOperationTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsUtilTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsValidationTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/SMAPrintTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/health/AtsValidateAtsDatabaseTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToMassEditorTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToTaskEditorTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToWorldViewTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsUserCommunity.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/render/RendererManagerTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/review/ReviewNavigateItemsToWorldViewTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/review/ReviewWorldSearchItemDemoTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsDeleteManagerTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsImageTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsQueryPerformanceTests.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsXWidgetsExampleBlamTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/CreateActionUsingAllActionableItemsTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/CustomizeDemoTableTestUtil.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/DemoTestUtil.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/ImageManagerTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/ImportActionsViaSpreadsheetTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/MassEditorUtil.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/NavigateTestUtil.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/SMATestUtil.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/WorldEditorUtil.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/workflow/SMAPromptChangeStatusTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/AtsTest_Demo_World_Search_Suite.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/LegacyPcrIdQuickSearchTest.java delete mode 100644 plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/TeamDefinitionQuickSearchTest.java delete mode 100644 plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoActionableItems.java delete mode 100644 plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoArtifactTypes.java delete mode 100644 plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoSawBuilds.java delete mode 100644 plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoTeam.java delete mode 100644 plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoUsers.java delete mode 100644 plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoWorkType.java (limited to 'plugins') diff --git a/plugins/org.eclipse.osee.ats.client.demo.test/.classpath b/plugins/org.eclipse.osee.ats.client.demo.test/.classpath deleted file mode 100644 index ad32c83a788..00000000000 --- a/plugins/org.eclipse.osee.ats.client.demo.test/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/plugins/org.eclipse.osee.ats.client.demo.test/.project b/plugins/org.eclipse.osee.ats.client.demo.test/.project deleted file mode 100644 index 6ac49e75033..00000000000 --- a/plugins/org.eclipse.osee.ats.client.demo.test/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.osee.ats.client.demo.test - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/plugins/org.eclipse.osee.ats.client.demo.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.client.demo.test/META-INF/MANIFEST.MF deleted file mode 100644 index 939b3ed9f03..00000000000 --- a/plugins/org.eclipse.osee.ats.client.demo.test/META-INF/MANIFEST.MF +++ /dev/null @@ -1,14 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: ATS Config Demo Test Fragment -Bundle-SymbolicName: org.eclipse.osee.ats.client.demo.test;singleton:=true -Bundle-Version: 0.11.0.qualifier -Bundle-Vendor: Eclipse Open System Engineering Environment -Fragment-Host: org.eclipse.osee.ats.client.demo -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Export-Package: org.eclipse.osee.ats.client.demo, - org.eclipse.osee.ats.client.demo.config -Require-Bundle: org.junit -Import-Package: org.eclipse.osee.ats.api.data, - org.eclipse.osee.ats.core.client.action, - org.eclipse.osee.ats.core.util diff --git a/plugins/org.eclipse.osee.ats.client.demo.test/build.properties b/plugins/org.eclipse.osee.ats.client.demo.test/build.properties deleted file mode 100644 index 34d2e4d2dad..00000000000 --- a/plugins/org.eclipse.osee.ats.client.demo.test/build.properties +++ /dev/null @@ -1,4 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - . diff --git a/plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/PopulateDemoActionsTest.java b/plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/PopulateDemoActionsTest.java deleted file mode 100644 index 710fb81cb80..00000000000 --- a/plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/PopulateDemoActionsTest.java +++ /dev/null @@ -1,520 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.client.demo; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.api.version.IAtsVersion; -import org.eclipse.osee.ats.client.demo.config.DemoDbUtil; -import org.eclipse.osee.ats.core.client.action.ActionArtifact; -import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; -import org.eclipse.osee.ats.core.client.review.AbstractReviewArtifact; -import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; -import org.eclipse.osee.ats.core.client.review.DecisionReviewState; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewState; -import org.eclipse.osee.ats.core.client.review.ReviewManager; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.task.TaskStates; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.config.AtsVersionService; -import org.eclipse.osee.ats.core.util.AtsObjects; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.eclipse.osee.support.test.util.DemoTeam; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; - -/** - * Test unit for {@link PopulateDemoActions} - * - * @author Donald G. Dunne - */ -public class PopulateDemoActionsTest { - @BeforeClass - public static void validateDbInit() throws OseeCoreException { - DemoDbUtil.checkDbInitAndPopulateSuccess(); - } - - @Before - public void setup() { - AtsBulkLoad.reloadConfig(true); - } - - @org.junit.Test - public void testSawBuild2Action1() throws OseeCoreException { - - // {@link DemoDbActionData.getReqSawActionsData()} - 1 - String title = "SAW (committed) Reqt Changes for Diagram View"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - - // test teams - Assert.assertEquals(3, action.getTeams().size()); - TeamWorkFlowArtifact codeTeamArt = null; - int numTested = 0; - for (TeamWorkFlowArtifact teamArt : action.getTeams()) { - teamArt.getActionableItemsDam().getActionableItemGuids(); - if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Code")) { - numTested++; - codeTeamArt = teamArt; - testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW Code", "Joe Smith", DemoArtifactTypes.DemoCodeTeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_Code)); - } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Test")) { - numTested++; - testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW Test", "Kay Jones", DemoArtifactTypes.DemoTestTeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_Test)); - } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Req")) { - numTested++; - testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW Requirements", "Joe Smith", DemoArtifactTypes.DemoReqTeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_Requirements)); - } - } - Assert.assertEquals(3, numTested); - Assert.assertNotNull(codeTeamArt); - - // test reviews - Assert.assertEquals("Should only be two reviews", 2, ReviewManager.getReviews(codeTeamArt).size()); - PeerToPeerReviewArtifact rev1 = null; - PeerToPeerReviewArtifact rev2 = null; - for (AbstractReviewArtifact revArt : ReviewManager.getReviews(codeTeamArt)) { - if (revArt.getName().contains("algorithm")) { - rev1 = (PeerToPeerReviewArtifact) revArt; - } else { - rev2 = (PeerToPeerReviewArtifact) revArt; - } - } - Assert.assertNotNull(rev1); - Assert.assertNotNull(rev2); - testReviewContents(rev1, "Peer Review algorithm used in code", PeerToPeerReviewState.Review.getName(), - new String[] {"Joe Smith", "Kay Jones"}); - testReviewContents(rev2, "Peer Review first set of code changes", PeerToPeerReviewState.Prepare.getName(), - "Joe Smith"); - - // test tasks - List taskNames = new ArrayList(); - taskNames.addAll(DemoTestUtil.getTaskTitles(true)); - for (TaskArtifact task : codeTeamArt.getTaskArtifacts()) { - testTaskContents(task, TaskStates.InWork.getName(), TeamState.Implement.getName()); - taskNames.remove(task.getName()); - Assert.assertEquals("Joe Smith; Kay Jones", task.getStateMgr().getAssigneesStr()); - } - Assert.assertEquals( - String.format("Not all tasks exist for [%s]; [%s] remain", codeTeamArt.toStringWithId(), taskNames), 0, - taskNames.size()); - } - - @org.junit.Test - public void testSawBuild2Action2() throws OseeCoreException { - // {@link DemoDbActionData.getReqSawActionsData()} - 2 - String title = "SAW (uncommitted) More Reqt Changes for Diagram View"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(4, action.getTeams().size()); - TeamWorkFlowArtifact codeTeam = null, designTeam = null; - int numTested = 0; - for (TeamWorkFlowArtifact teamArt : action.getTeams()) { - if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Code")) { - numTested++; - - codeTeam = teamArt; - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW Code", "Joe Smith", DemoArtifactTypes.DemoCodeTeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_Code)); - } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Test")) { - numTested++; - - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW Test", "Kay Jones", DemoArtifactTypes.DemoTestTeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_Test)); - } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Req")) { - numTested++; - - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW Requirements", "Joe Smith", DemoArtifactTypes.DemoReqTeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_Requirements)); - } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Design")) { - numTested++; - - designTeam = teamArt; - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW SW Design", "Kay Jones", AtsArtifactTypes.TeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_SW_Design)); - } - } - Assert.assertEquals(4, numTested); - // test code team 1 review and 6 tasks - // - test review - Assert.assertNotNull(codeTeam); - Collection reviews = ReviewManager.getReviews(codeTeam); - Assert.assertEquals(1, reviews.size()); - PeerToPeerReviewArtifact revArt = (PeerToPeerReviewArtifact) reviews.iterator().next(); - testReviewContents(revArt, "Review new logic", PeerToPeerReviewState.Completed.getName()); - - // - test tasks - List taskNames = new ArrayList(); - taskNames.addAll(DemoTestUtil.getTaskTitles(false)); - for (TaskArtifact task : codeTeam.getTaskArtifacts()) { - testTaskContents(task, TaskStates.InWork.getName(), TeamState.Implement.getName()); - taskNames.remove(task.getName()); - Assert.assertEquals("Joe Smith", task.getStateMgr().getAssigneesStr()); - } - Assert.assertEquals( - String.format("Not all tasks exist for [%s]; [%s] remain", codeTeam.toStringWithId(), taskNames), 0, - taskNames.size()); - - // test sw_design 1 peer and 1 decision review - testSwDesign1PeerAnd1DecisionReview(designTeam); - - } - - @org.junit.Test - public void testSawBuild2Action3() throws OseeCoreException { - // {@link DemoDbActionData.getReqSawActionsData()} - 3 - String title = "SAW (no-branch) Even More Requirement Changes for Diagram View"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(4, action.getTeams().size()); - Assert.assertEquals(4, action.getTeams().size()); - TeamWorkFlowArtifact designTeam = null; - int numTested = 0; - for (TeamWorkFlowArtifact teamArt : action.getTeams()) { - if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Code")) { - numTested++; - - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW Code", "Joe Smith", DemoArtifactTypes.DemoCodeTeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_Code)); - } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Test")) { - numTested++; - - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW Test", "Kay Jones", DemoArtifactTypes.DemoTestTeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_Test)); - } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Req")) { - numTested++; - - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW Requirements", "Joe Smith", DemoArtifactTypes.DemoReqTeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_Requirements)); - } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Design")) { - numTested++; - - designTeam = teamArt; - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW SW Design", "Kay Jones", AtsArtifactTypes.TeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_SW_Design)); - } - } - Assert.assertEquals(4, numTested); - // test sw_design 1 peer and 1 decision review - testSwDesign1PeerAnd1DecisionReview(designTeam); - - } - - @org.junit.Test - public void testSawBuild2Action4() throws OseeCoreException { - // {@link DemoDbActionData.getReqSawActionsData()} - 4 - String title = "SAW (uncommitted-conflicted) More Requirement Changes for Diagram View"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "SAW Requirements", "Joe Smith", DemoArtifactTypes.DemoReqTeamWorkflow, - DemoTestUtil.getTeamDef(DemoTeam.SAW_Requirements)); - } - - @org.junit.Test - public void testWorkaroundForGraphViewBld1Action() throws OseeCoreException { - String title = "Workaround for Graph View for SAW_Bld_1"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_1.getName(), TeamState.Completed.getName(), - "Adapter", "", DemoArtifactTypes.DemoReqTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_HW)); - } - - @org.junit.Test - public void testWorkaroundForGraphViewBld2Action() throws OseeCoreException { - String title = "Workaround for Graph View for SAW_Bld_2"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), - "Adapter", "Jason Michael", DemoArtifactTypes.DemoReqTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_HW)); - } - - @org.junit.Test - public void testWorkaroundForGraphViewBld3Action() throws OseeCoreException { - String title = "Workaround for Graph View for SAW_Bld_3"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_3.getName(), TeamState.Implement.getName(), - "Adapter", "Jason Michael", DemoArtifactTypes.DemoReqTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_HW)); - } - - @org.junit.Test - public void testWorkingWithDiagramTreeBld1Action() throws OseeCoreException { - String title = "Working with Diagram Tree for SAW_Bld_1"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_1.getName(), TeamState.Completed.getName(), - "SAW SW Design", "", AtsArtifactTypes.TeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_SW_Design)); - } - - @org.junit.Test - public void testWorkingWithDiagramTreeBld2Action() throws OseeCoreException { - String title = "Working with Diagram Tree for SAW_Bld_2"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Endorse.getName(), - "SAW SW Design", "Kay Jones", AtsArtifactTypes.TeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_SW_Design)); - } - - @org.junit.Test - public void testWorkingWithDiagramTreeBld3Action() throws OseeCoreException { - String title = "Working with Diagram Tree for SAW_Bld_3"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_3.getName(), TeamState.Endorse.getName(), - "SAW SW Design", "Kay Jones", AtsArtifactTypes.TeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_SW_Design)); - } - - @org.junit.Test - public void testButton2DoesntWorkOnHelpAction() throws OseeCoreException { - String title = "Button S doesn't work on help"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "3", "", TeamState.Completed.getName(), "Reader", "", - AtsArtifactTypes.TeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.Tools_Team)); - - // test decision review - Collection reviews = ReviewManager.getReviews(teamArt); - Assert.assertEquals(1, reviews.size()); - DecisionReviewArtifact revArt = (DecisionReviewArtifact) reviews.iterator().next(); - testReviewContents(revArt, "Is the resolution of this Action valid?", DecisionReviewState.Decision.getName(), - "Joe Smith"); - - } - - @org.junit.Test - public void testButtonWDoesntWorkOnSituationPageAction() throws OseeCoreException { - String title = "Button W doesn't work on Situation Page"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "3", "", TeamState.Analyze.getName(), "CIS Test", "Kay Jones", - DemoArtifactTypes.DemoTestTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.CIS_Test)); - - // test decision review - Collection reviews = ReviewManager.getReviews(teamArt); - Assert.assertEquals(1, reviews.size()); - DecisionReviewArtifact revArt = (DecisionReviewArtifact) reviews.iterator().next(); - testReviewContents(revArt, "Is the resolution of this Action valid?", DecisionReviewState.Followup.getName(), - "Joe Smith"); - - } - - @org.junit.Test - public void testCantLoadDiagramTreeAction() throws OseeCoreException { - String title = "Can't load Diagram Tree"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "3", "", TeamState.Endorse.getName(), "CIS Test", "Kay Jones", - DemoArtifactTypes.DemoTestTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.CIS_Test)); - } - - @org.junit.Test - public void testCantSeeTheGraphViewAction() throws OseeCoreException { - String title = "Can't see the Graph View"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "1", "", TeamState.Implement.getName(), "Adapter", "Jason Michael", - DemoArtifactTypes.DemoReqTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_HW)); - - } - - @org.junit.Test - public void testProblemInDiagramTreeAction() throws OseeCoreException { - String title = "Problem in Diagram Tree"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "3", "", TeamState.Endorse.getName(), "CIS Test", "Kay Jones", - DemoArtifactTypes.DemoTestTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.CIS_Test)); - - } - - @org.junit.Test - public void testProblemWithTheGraphViewAction() throws OseeCoreException { - String title = "Problem with the Graph View"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "1", "", TeamState.Implement.getName(), "Adapter", "Jason Michael", - DemoArtifactTypes.DemoReqTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_HW)); - - } - - @org.junit.Test - public void testProblemWithTheUserWindowAction() throws OseeCoreException { - String title = "Problem with the user window"; - ActionArtifact action = - (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(action); - Assert.assertEquals(1, action.getTeams().size()); - TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); - - testTeamContents(teamArt, title, "4", "", TeamState.Implement.getName(), "Timesheet", "Jeffery Kay", - AtsArtifactTypes.TeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.Tools_Team)); - - } - - private static void testReviewContents(AbstractReviewArtifact revArt, String title, String currentStateName, String... assigneeStrs) throws OseeCoreException { - Assert.assertEquals(title, revArt.getName()); - Assert.assertEquals(currentStateName, revArt.getCurrentStateName()); - - Collection assigneeNames = AtsObjects.getNames(revArt.getStateMgr().getAssignees()); - - Assert.assertEquals(assigneeNames.size(), assigneeStrs.length); - for (String assignee : assigneeStrs) { - if (!assigneeNames.contains(assignee)) { - Assert.fail(String.format("revArt.getStateMgr().getAssignees(), does not contain user: %s", assignee)); - } - } - } - - private static void testTeamContents(TeamWorkFlowArtifact teamArt, String title, String priority, String versionName, String currentStateName, String actionableItemStr, String assigneeStr, IArtifactType artifactType, IAtsTeamDefinition teamDef) throws OseeCoreException { - Assert.assertEquals(currentStateName, teamArt.getCurrentStateName()); - Assert.assertEquals(priority, teamArt.getSoleAttributeValue(AtsAttributeTypes.PriorityType, "")); - // want targeted version, not error/exception - String targetedVerStr = ""; - IAtsVersion version = AtsVersionService.get().getTargetedVersion(teamArt); - if (version != null) { - targetedVerStr = version.getName(); - } - Assert.assertEquals(versionName, targetedVerStr); - Assert.assertEquals(artifactType, teamArt.getArtifactType()); - Assert.assertEquals(teamDef, teamArt.getTeamDefinition()); - Assert.assertEquals(assigneeStr, teamArt.getStateMgr().getAssigneesStr()); - Assert.assertEquals(actionableItemStr, teamArt.getActionableItemsDam().getActionableItemsStr()); - } - - private void testTaskContents(TaskArtifact task, String currentStateName, String relatedToState) throws OseeCoreException { - Assert.assertEquals(currentStateName, task.getCurrentStateName()); - Assert.assertEquals(relatedToState, task.getSoleAttributeValue(AtsAttributeTypes.RelatedToState, "")); - } - - private void testSwDesign1PeerAnd1DecisionReview(TeamWorkFlowArtifact designTeam) throws OseeCoreException { - Assert.assertNotNull(designTeam); - PeerToPeerReviewArtifact peerArt = null; - DecisionReviewArtifact decArt = null; - for (AbstractReviewArtifact revArt1 : ReviewManager.getReviews(designTeam)) { - if (revArt1.getName().contains("PeerToPeer")) { - peerArt = (PeerToPeerReviewArtifact) revArt1; - } else { - decArt = (DecisionReviewArtifact) revArt1; - } - } - Assert.assertNotNull(peerArt); - Assert.assertNotNull(decArt); - testReviewContents( - peerArt, - "Auto-created Decision Review from ruleId atsAddPeerToPeerReview.test.addPeerToPeerReview.Authorize.None.TransitionTo", - PeerToPeerReviewState.Prepare.getName(), "UnAssigned"); - testReviewContents( - decArt, - "Auto-created Decision Review from ruleId: atsAddDecisionReview.test.addDecisionReview.Analyze.None.TransitionTo", - DecisionReviewState.Decision.getName(), "UnAssigned"); - - } - -} diff --git a/plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/config/DemoDatabaseConfigTest.java b/plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/config/DemoDatabaseConfigTest.java deleted file mode 100644 index 52376649125..00000000000 --- a/plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/config/DemoDatabaseConfigTest.java +++ /dev/null @@ -1,163 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.client.demo.config; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import org.eclipse.osee.ats.client.demo.DemoCISBuilds; -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.model.Branch; -import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * Test unit for {@link DemoDatabaseConfig} - * - * @author Donald G. Dunne - */ -public class DemoDatabaseConfigTest { - - @BeforeClass - public static void validateDbInit() throws OseeCoreException { - DemoDbUtil.checkDbInitAndPopulateSuccess(); - } - - @org.junit.Test - public void test_SAW_Bld_1__creation() throws OseeCoreException { - Branch branch = BranchManager.getBranchByGuid(DemoSawBuilds.SAW_Bld_1.getGuid()); - Assert.assertNotNull(branch); - Artifact programRoot = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(branch); - Assert.assertNotNull(programRoot); - - Assert.assertEquals(8, programRoot.getChildren().size()); - List topFolders = new ArrayList(); - topFolders.addAll(Arrays.asList("Hardware Requirements", "Integration Tests", "SAW Product Decomposition", - "Software Requirements", "Subsystem Requirements", "System Requirements", "Validation Tests", - "Verification Tests")); - - for (Artifact child : programRoot.getChildren()) { - if (child.getName().equals("Integration Tests")) { - Assert.assertEquals(3, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("Hardware Requirements")) { - Assert.assertEquals(0, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("SAW Product Decomposition")) { - Assert.assertEquals(14, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("Software Requirements")) { - Assert.assertEquals(1, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("Subsystem Requirements")) { - Assert.assertEquals(1, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("System Requirements")) { - Assert.assertEquals(6, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("Validation Tests")) { - Assert.assertEquals(3, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("Verification Tests")) { - Assert.assertEquals(3, child.getChildren().size()); - topFolders.remove(child.getName()); - } - } - - Assert.assertEquals(String.format("All top folders not created; missing [%s]", topFolders), 0, topFolders.size()); - } - - @org.junit.Test - public void test_SAW_Bld_1__SoftwareRequirementImport() throws OseeCoreException { - Branch branch = BranchManager.getBranchByGuid(DemoSawBuilds.SAW_Bld_1.getGuid()); - Assert.assertNotNull(branch); - - Collection artifacts = - ArtifactQuery.getArtifactListFromType(CoreArtifactTypes.SystemRequirement, branch); - Assert.assertEquals(67, artifacts.size()); - - artifacts = ArtifactQuery.getArtifactListFromType(CoreArtifactTypes.SubsystemRequirement, branch); - Assert.assertEquals(59, artifacts.size()); - - artifacts = ArtifactQuery.getArtifactListFromType(CoreArtifactTypes.SoftwareRequirement, branch); - Assert.assertEquals(24, artifacts.size()); - - } - - @org.junit.Test - public void test_CIS_Bld_1__creation() throws OseeCoreException { - Branch branch = BranchManager.getBranchByGuid(DemoCISBuilds.CIS_Bld_1.getGuid()); - Assert.assertNotNull(branch); - Artifact programRoot = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(branch); - Assert.assertNotNull(programRoot); - - Assert.assertEquals(8, programRoot.getChildren().size()); - List topFolders = new ArrayList(); - topFolders.addAll(Arrays.asList("Hardware Requirements", "Integration Tests", "SAW Product Decomposition", - "Software Requirements", "Subsystem Requirements", "System Requirements", "Validation Tests", - "Verification Tests")); - - for (Artifact child : programRoot.getChildren()) { - if (child.getName().equals("Integration Tests")) { - Assert.assertEquals(0, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("Hardware Requirements")) { - Assert.assertEquals(0, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("SAW Product Decomposition")) { - Assert.assertEquals(14, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("Software Requirements")) { - Assert.assertEquals(0, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("Subsystem Requirements")) { - Assert.assertEquals(0, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("System Requirements")) { - Assert.assertEquals(0, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("Validation Tests")) { - Assert.assertEquals(0, child.getChildren().size()); - topFolders.remove(child.getName()); - } else if (child.getName().equals("Verification Tests")) { - Assert.assertEquals(0, child.getChildren().size()); - topFolders.remove(child.getName()); - } - } - - Assert.assertEquals(String.format("All top folders not created; missing [%s]", topFolders), 0, topFolders.size()); - } - - @org.junit.Test - public void test_CIS_Bld_1__SoftwareRequirementImport() throws OseeCoreException { - Branch branch = BranchManager.getBranchByGuid(DemoCISBuilds.CIS_Bld_1.getGuid()); - Assert.assertNotNull(branch); - - Collection artifacts = - ArtifactQuery.getArtifactListFromType(CoreArtifactTypes.SystemRequirement, branch); - Assert.assertEquals(0, artifacts.size()); - - artifacts = ArtifactQuery.getArtifactListFromType(CoreArtifactTypes.SubsystemRequirement, branch); - Assert.assertEquals(0, artifacts.size()); - - artifacts = ArtifactQuery.getArtifactListFromType(CoreArtifactTypes.SoftwareRequirement, branch); - Assert.assertEquals(0, artifacts.size()); - - } - -} diff --git a/plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/config/DemoDbGroupsTest.java b/plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/config/DemoDbGroupsTest.java deleted file mode 100644 index 3d21cc61d87..00000000000 --- a/plugins/org.eclipse.osee.ats.client.demo.test/src/org/eclipse/osee/ats/client/demo/config/DemoDbGroupsTest.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.client.demo.config; - -import java.util.Collection; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; -import org.eclipse.osee.framework.core.enums.CoreRelationTypes; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.utility.Artifacts; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * @author Donald G. Dunne - */ -public class DemoDbGroupsTest { - @BeforeClass - public static void validateDbInit() throws OseeCoreException { - DemoDbUtil.checkDbInitAndPopulateSuccess(); - } - - /** - * Test method for {@link DemoDbGroups}. - * - * @throws OseeCoreException - */ - @org.junit.Test - public void testCreateGroups() throws OseeCoreException { - Artifact groupArt = - ArtifactQuery.getArtifactFromTypeAndName(CoreArtifactTypes.UniversalGroup, DemoDbGroups.TEST_GROUP_NAME, - AtsUtil.getAtsBranchToken()); - Assert.assertNotNull(groupArt); - - Collection members = groupArt.getRelatedArtifacts(CoreRelationTypes.Universal_Grouping__Members); - Assert.assertEquals(23, members.size()); - - Assert.assertEquals(2, Artifacts.getOfType(AtsArtifactTypes.Action, members).size()); - Assert.assertEquals(14, Artifacts.getOfType(AtsArtifactTypes.Task, members).size()); - Assert.assertEquals(2, Artifacts.getOfType(DemoArtifactTypes.DemoCodeTeamWorkflow, members).size()); - Assert.assertEquals(2, Artifacts.getOfType(DemoArtifactTypes.DemoTestTeamWorkflow, members).size()); - Assert.assertEquals(2, Artifacts.getOfType(DemoArtifactTypes.DemoReqTeamWorkflow, members).size()); - Assert.assertEquals(7, Artifacts.getOfType(AtsArtifactTypes.TeamWorkflow, members).size()); - } -} diff --git a/plugins/org.eclipse.osee.ats.client.demo/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.client.demo/META-INF/MANIFEST.MF index 2e96c3060ee..6c0b215030a 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.ats.client.demo/META-INF/MANIFEST.MF @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Demo Plug-in +Bundle-Name: ATS Client Demo (Incubation) Bundle-SymbolicName: org.eclipse.osee.ats.client.demo;singleton:=true Bundle-Version: 0.11.0.qualifier Eclipse-ExtensibleAPI: true diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoActionableItems.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoActionableItems.java new file mode 100644 index 00000000000..376e9d3c610 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoActionableItems.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.demo; + +/** + * @author Donald G. Dunne + */ +public enum DemoActionableItems { + + Actionable_Items, + SAW_CSCI, + SAW_Code, + Test_Page, + SAW_Test, + RunLists, + SAW_Requirements, + SAW_HW, + Adapter, + Manual, + Screen, + Case, + SAW_SW_Design, + CIS_CSCI, + CIS_Code, + CIS_Test, + CIS_Requirements, + CIS_SW_Design, + Tools, + Website, + Reader, + Timesheet, + Results_Reporter, + Processes, + Coding_Standards, + Config_Mgmt, + Reviews, + New_Employee_Manual, + Facilities, + Network, + Vending_Machines, + Computers, + Break_Room, + Backups; + + public String getName() { + return name().replaceAll("_", " "); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoArtifactTypes.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoArtifactTypes.java new file mode 100644 index 00000000000..d2d6c5ae45f --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoArtifactTypes.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2009 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.demo; + +import org.eclipse.osee.framework.core.data.IArtifactType; +import org.eclipse.osee.framework.core.data.TokenFactory; + +/** + * @author Ryan D. Brooks + */ +public final class DemoArtifactTypes { + + // @formatter:off + public static final IArtifactType DemoCodeTeamWorkflow = TokenFactory.createArtifactType(0x000000000000004FL, "Demo Code Team Workflow"); + public static final IArtifactType DemoReqTeamWorkflow = TokenFactory.createArtifactType(0x0000000000000050L, "Demo Req Team Workflow"); + public static final IArtifactType DemoTestTeamWorkflow = TokenFactory.createArtifactType(0x0000000000000051L, "Demo Test Team Workflow"); + // @formatter:on + + private DemoArtifactTypes() { + // Constants + } +} diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoChoice.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoChoice.java new file mode 100644 index 00000000000..2ece9cedf43 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoChoice.java @@ -0,0 +1,22 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.demo; + +import org.eclipse.osee.framework.database.init.IDbInitChoiceEnum; + +/** + * @author Roberto E. Escobar + */ +public enum DemoChoice implements IDbInitChoiceEnum { + + ATS_CLIENT_DEMO; + +} diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoGroups.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoGroups.java new file mode 100644 index 00000000000..797a0c61ad2 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoGroups.java @@ -0,0 +1,24 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.demo; + +/** + * @author Donald G. Dunne + */ +public class DemoGroups { + + private DemoGroups() { + // Constants class + } + + public static String TEST_GROUP_NAME = "Test Group"; + +} diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoSawBuilds.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoSawBuilds.java new file mode 100644 index 00000000000..833a17da273 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoSawBuilds.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.demo; + +import org.eclipse.osee.framework.core.data.IOseeBranch; +import org.eclipse.osee.framework.core.data.TokenFactory; + +/** + * @author Donald G. Dunne + */ +public final class DemoSawBuilds { + + public static final IOseeBranch SAW_Bld_1 = TokenFactory.createBranch("AyH_f2sSKy3l07fIvAAA", "SAW_Bld_1"); + public static final IOseeBranch SAW_Bld_2 = TokenFactory.createBranch("AyH_f2sSKy3l07fIvBBB", "SAW_Bld_2"); + public static final IOseeBranch SAW_Bld_3 = TokenFactory.createBranch("AyH_f2sSKy3l07fIvCCC", "SAW_Bld_3"); + + private DemoSawBuilds() { + // Constants + } +} \ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoTeam.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoTeam.java new file mode 100644 index 00000000000..c2304c4c0c1 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoTeam.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.demo; + +/** + * Convenience method for demo plugin to retrieve configured teams for use mostly in DemoNavigateViewItem. + * + * @author Donald G. Dunne + */ +public enum DemoTeam { + Process_Team, + Tools_Team, + SAW_HW, + SAW_Code, + SAW_Test, + SAW_SW_Design, + SAW_Requirements, + SAW_SW, + CIS_SW, + CIS_Code, + CIS_Test, + Facilities_Team +} diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoUsers.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoUsers.java new file mode 100644 index 00000000000..414c53fc37a --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoUsers.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.demo; + +import java.util.Arrays; +import java.util.List; +import org.eclipse.osee.framework.core.data.IUserToken; +import org.eclipse.osee.framework.core.data.TokenFactory; + +/** + * @author Donald G. Dunne + */ +public final class DemoUsers { + + // @formatter:off + public static final IUserToken Joe_Smith = TokenFactory.createUserToken("ABNRvbZxXHICYklfslwA", "Joe Smith", "", "Joe Smith", false, false, false); + public static final IUserToken Kay_Jones = TokenFactory.createUserToken("ABNRvuB8x3VARkkn3YAA", "Kay Jones", "", "Kay Jones", false, false, false); + public static final IUserToken Jason_Michael = TokenFactory.createUserToken("ABNRvuHWtXAdxbG3mUAA", "Jason Michael", "", "Jason Michael", true, false, false); + public static final IUserToken Alex_Kay = TokenFactory.createUserToken("ABNRvuKDIWOcPDe4X0wA", "Alex Kay", "", "Alex Kay", true, false, false); + public static final IUserToken Inactive_Steve = TokenFactory.createUserToken("ABNRvuRG6jKwKnEoX4gA", "Inactive Steve", "", "Inactive Steve", false, false, false); + public static List values = Arrays.asList(Joe_Smith, Kay_Jones, Jason_Michael, Alex_Kay, Inactive_Steve); + // @formatter:on + + private DemoUsers() { + // Constants + } + + public static List values() { + return values; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoUtil.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoUtil.java new file mode 100644 index 00000000000..2533be51866 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoUtil.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.demo; + +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.eclipse.osee.framework.database.core.OseeInfo; + +public class DemoUtil { + + private DemoUtil() { + // Utility class + } + + public static void checkDbInitSuccess() throws OseeCoreException { + if (!isDbInitSuccessful()) { + throw new OseeStateException("DbInit must be successful to continue"); + } + } + + public static void checkDbInitAndPopulateSuccess() throws OseeCoreException { + if (!isDbInitSuccessful()) { + throw new OseeStateException("DbInit must be successful to continue"); + } + if (!isPopulateDbSuccessful()) { + throw new OseeStateException("PopulateDb must be successful to continue"); + } + } + + public static boolean isDbInitSuccessful() throws OseeCoreException { + return OseeInfo.isBoolean("DbInitSuccess"); + } + + public static void setDbInitSuccessful(boolean success) throws OseeCoreException { + OseeInfo.setBoolean("DbInitSuccess", success); + } + + public static boolean isPopulateDbSuccessful() throws OseeCoreException { + return OseeInfo.isBoolean("PopulateSuccessful"); + } + + public static void setPopulateDbSuccessful(boolean success) throws OseeCoreException { + OseeInfo.setBoolean("PopulateSuccessful", success); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoWorkType.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoWorkType.java new file mode 100644 index 00000000000..841cef0c53d --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/DemoWorkType.java @@ -0,0 +1,24 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.demo; + +/** + * Declares the different work types for Widget_A and Widget_B + * + * @author Donald G. Dunne + */ +public enum DemoWorkType { + Code, + Test, + Requirements, + SW_Design, + All +} diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/PopulateDemoActions.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/PopulateDemoActions.java index 8068e96edfc..83dff9800b5 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/PopulateDemoActions.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/PopulateDemoActions.java @@ -87,8 +87,6 @@ import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemAction; import org.eclipse.osee.framework.ui.skynet.Import.ArtifactImportOperationFactory; import org.eclipse.osee.framework.ui.skynet.Import.ArtifactImportOperationParameter; import org.eclipse.osee.framework.ui.swt.Displays; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; -import org.eclipse.osee.support.test.util.DemoSawBuilds; import org.eclipse.osee.support.test.util.TestUtil; /** diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/PopulateSawBuild2Actions.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/PopulateSawBuild2Actions.java index c151a126270..9e45e6ced25 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/PopulateSawBuild2Actions.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/PopulateSawBuild2Actions.java @@ -51,7 +51,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoSawBuilds; /** * @author Donald G. Dunne diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/artifact/DemoArtifactImageProvider.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/artifact/DemoArtifactImageProvider.java index fcdfd211837..3091579fb04 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/artifact/DemoArtifactImageProvider.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/artifact/DemoArtifactImageProvider.java @@ -10,11 +10,11 @@ *******************************************************************************/ package org.eclipse.osee.ats.client.demo.artifact; +import org.eclipse.osee.ats.client.demo.DemoArtifactTypes; import org.eclipse.osee.ats.client.demo.util.DemoImage; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.ui.skynet.ArtifactImageManager; import org.eclipse.osee.framework.ui.skynet.ArtifactImageProvider; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; /** * @author Donald G. Dunne diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/artifact/DemoTeamWorkflows.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/artifact/DemoTeamWorkflows.java index 60ad3b30252..38e12268746 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/artifact/DemoTeamWorkflows.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/artifact/DemoTeamWorkflows.java @@ -16,13 +16,13 @@ import org.eclipse.osee.ats.actions.wizard.TeamWorkflowProviderAdapter; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.client.demo.DemoArtifactTypes; import org.eclipse.osee.ats.client.demo.internal.Activator; import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; import org.eclipse.osee.ats.core.client.workflow.AbstractWorkflowArtifact; import org.eclipse.osee.framework.core.data.IArtifactType; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; /** * @author Donald G. Dunne diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/AddDbInitDemoChoice.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/AddDbInitDemoChoice.java index 4abffadc5d8..ed07a9624f4 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/AddDbInitDemoChoice.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/AddDbInitDemoChoice.java @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.osee.ats.client.demo.config; +import org.eclipse.osee.ats.client.demo.DemoChoice; import org.eclipse.osee.framework.database.init.DatabaseInitConfiguration; import org.eclipse.osee.framework.database.init.DefaultOseeTypeDefinitions; import org.eclipse.osee.framework.database.init.IAddDbInitChoice; @@ -33,10 +34,10 @@ public class AddDbInitDemoChoice implements IAddDbInitChoice { config.addTask("org.eclipse.osee.ats.AtsDatabaseConfig"); config.addTask("org.eclipse.osee.ats.client.demo.DemoDatabaseConfig"); - for (DefaultOseeTypeDefinitions types : DefaultOseeTypeDefinitions.values()) { - config.addOseeType(types); - } + config.addOseeType(DefaultOseeTypeDefinitions.OSEE_BASE_TYPES); + config.addOseeType(DefaultOseeTypeDefinitions.DEFINE_TYPES); + config.addOseeType(DefaultOseeTypeDefinitions.ATS_TYPES); config.addOseeType("org.eclipse.osee.ats.client.demo.OseeTypes_Demo"); - groupSelection.addChoice("OSEE Demo Database", config); + groupSelection.addChoice(DemoChoice.ATS_CLIENT_DEMO, config); } } diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/AtsConfigAddDemoUsers.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/AtsConfigAddDemoUsers.java index 6888a14b09e..b9fb6fe0d85 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/AtsConfigAddDemoUsers.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/AtsConfigAddDemoUsers.java @@ -12,6 +12,7 @@ package org.eclipse.osee.ats.client.demo.config; import java.util.ArrayList; import java.util.List; +import org.eclipse.osee.ats.client.demo.DemoUsers; import org.eclipse.osee.ats.core.client.util.AtsGroup; import org.eclipse.osee.framework.core.data.IUserToken; import org.eclipse.osee.framework.core.exception.OseeCoreException; @@ -22,7 +23,6 @@ import org.eclipse.osee.framework.skynet.core.UserManager; import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoUsers; /** * @author Donald G. Dunne diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDatabaseConfig.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDatabaseConfig.java index 064ecc4ebb1..12adc380175 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDatabaseConfig.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDatabaseConfig.java @@ -11,7 +11,9 @@ package org.eclipse.osee.ats.client.demo.config; import org.eclipse.osee.ats.client.demo.DemoCISBuilds; +import org.eclipse.osee.ats.client.demo.DemoSawBuilds; import org.eclipse.osee.ats.client.demo.DemoSubsystems; +import org.eclipse.osee.ats.client.demo.DemoUsers; import org.eclipse.osee.ats.core.client.util.AtsGroup; import org.eclipse.osee.framework.core.data.IOseeBranch; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; @@ -23,8 +25,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; import org.eclipse.osee.framework.skynet.core.utility.Requirements; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.eclipse.osee.support.test.util.DemoUsers; import org.eclipse.osee.support.test.util.TestUtil; /** diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbGroups.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbGroups.java index 3883bcd99bf..0b4aeacf0d2 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbGroups.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbGroups.java @@ -14,6 +14,7 @@ import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.client.demo.DemoGroups; import org.eclipse.osee.ats.client.demo.internal.Activator; import org.eclipse.osee.ats.core.client.action.ActionManager; import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; @@ -30,7 +31,6 @@ import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; * @author Donald G. Dunne */ public class DemoDbGroups { - public static String TEST_GROUP_NAME = "Test Group"; public static List createGroups(boolean DEBUG) throws Exception { @@ -42,7 +42,7 @@ public class DemoDbGroups { if (DEBUG) { OseeLog.log(Activator.class, Level.INFO, "Create Groups and add objects"); } - Artifact groupArt = UniversalGroup.addGroup(TEST_GROUP_NAME, AtsUtil.getAtsBranch(), transaction); + Artifact groupArt = UniversalGroup.addGroup(DemoGroups.TEST_GROUP_NAME, AtsUtil.getAtsBranch(), transaction); for (TeamWorkFlowArtifact codeArt : DemoDbUtil.getSampleCodeWorkflows()) { // Add Action to Universal Group diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbReviews.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbReviews.java index 86997074936..1b73ef38e52 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbReviews.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbReviews.java @@ -16,6 +16,8 @@ import java.util.Date; import java.util.List; import java.util.logging.Level; import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.client.demo.DemoArtifactTypes; +import org.eclipse.osee.ats.client.demo.DemoUsers; import org.eclipse.osee.ats.client.demo.internal.Activator; import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; @@ -40,8 +42,6 @@ import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; -import org.eclipse.osee.support.test.util.DemoUsers; /** * @author Donald G. Dunne diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbTasks.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbTasks.java index 236f73b3a29..ff9e0e2b06e 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbTasks.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbTasks.java @@ -17,6 +17,7 @@ import java.util.Date; import java.util.List; import java.util.logging.Level; import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.client.demo.DemoUsers; import org.eclipse.osee.ats.client.demo.internal.Activator; import org.eclipse.osee.ats.core.client.task.TaskArtifact; import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; @@ -25,7 +26,6 @@ import org.eclipse.osee.ats.util.AtsUtil; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoUsers; /** * @author Donald G. Dunne diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbUtil.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbUtil.java index a978237678f..0c65d5cc0c8 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbUtil.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/config/DemoDbUtil.java @@ -18,6 +18,7 @@ import java.util.List; import java.util.Set; import java.util.logging.Level; import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.client.demo.DemoArtifactTypes; import org.eclipse.osee.ats.client.demo.internal.Activator; import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; import org.eclipse.osee.ats.core.config.ActionableItems; @@ -28,17 +29,14 @@ import org.eclipse.osee.framework.core.data.IUserToken; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.exception.OseeExceptions; -import org.eclipse.osee.framework.core.exception.OseeStateException; import org.eclipse.osee.framework.core.model.Branch; import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.database.core.OseeInfo; import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.skynet.core.User; import org.eclipse.osee.framework.skynet.core.UserManager; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; /** * @author Donald G. Dunne @@ -48,37 +46,6 @@ public class DemoDbUtil { public static String INTERFACE_INITIALIZATION = "Interface Initialization"; private static List codeArts; - public static void checkDbInitSuccess() throws OseeCoreException { - if (!isDbInitSuccessful()) { - throw new OseeStateException("DbInit must be successful to continue"); - } - } - - public static void checkDbInitAndPopulateSuccess() throws OseeCoreException { - if (!isDbInitSuccessful()) { - throw new OseeStateException("DbInit must be successful to continue"); - } - if (!isPopulateDbSuccessful()) { - throw new OseeStateException("PopulateDb must be successful to continue"); - } - } - - public static boolean isDbInitSuccessful() throws OseeCoreException { - return OseeInfo.isBoolean("DbInitSuccess"); - } - - public static void setDbInitSuccessful(boolean success) throws OseeCoreException { - OseeInfo.setBoolean("DbInitSuccess", success); - } - - public static boolean isPopulateDbSuccessful() throws OseeCoreException { - return OseeInfo.isBoolean("PopulateSuccessful"); - } - - public static void setPopulateDbSuccessful(boolean success) throws OseeCoreException { - OseeInfo.setBoolean("PopulateSuccessful", success); - } - public static List getSampleCodeWorkflows() throws OseeCoreException { if (codeArts == null) { codeArts = new ArrayList(); diff --git a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/navigate/DemoNavigateViewItems.java b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/navigate/DemoNavigateViewItems.java index b7ee4b11973..017bf06ca0f 100644 --- a/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/navigate/DemoNavigateViewItems.java +++ b/plugins/org.eclipse.osee.ats.client.demo/src/org/eclipse/osee/ats/client/demo/navigate/DemoNavigateViewItems.java @@ -16,6 +16,7 @@ import java.util.List; import java.util.logging.Level; import org.eclipse.osee.ats.api.data.AtsArtifactTypes; import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.client.demo.DemoTeam; import org.eclipse.osee.ats.client.demo.PopulateDemoActions; import org.eclipse.osee.ats.client.demo.internal.Activator; import org.eclipse.osee.ats.config.ValidateAtsConfiguration; @@ -42,7 +43,6 @@ import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItemFolder; import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateUrlItem; import org.eclipse.osee.framework.ui.skynet.FrameworkImage; -import org.eclipse.osee.support.test.util.DemoTeam; /** * Provides the ATS Navigator items for the sample XYZ company's teams diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/.classpath b/plugins/org.eclipse.osee.ats.client.integration.tests/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/.gitignore b/plugins/org.eclipse.osee.ats.client.integration.tests/.gitignore new file mode 100644 index 00000000000..da2a95a91af --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/.gitignore @@ -0,0 +1 @@ +/Rerun*.launch diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/.pmd b/plugins/org.eclipse.osee.ats.client.integration.tests/.pmd new file mode 100644 index 00000000000..c7b0a9fb3f5 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/.pmd @@ -0,0 +1,925 @@ + + + false + .ruleset + + + LooseCoupling + Type Resolution Rules + + + CloneMethodMustImplementCloneable + Type Resolution Rules + + + UnusedImports + Type Resolution Rules + + + SignatureDeclareThrowsException + Type Resolution Rules + + + IfStmtsMustUseBraces + Braces Rules + + + WhileLoopsMustUseBraces + Braces Rules + + + IfElseStmtsMustUseBraces + Braces Rules + + + ForLoopsMustUseBraces + Braces Rules + + + UseSingleton + Design Rules + + + SimplifyBooleanReturns + Design Rules + + + SimplifyBooleanExpressions + Design Rules + + + SwitchStmtsShouldHaveDefault + Design Rules + + + AvoidDeeplyNestedIfStmts + Design Rules + + + AvoidReassigningParameters + Design Rules + + + SwitchDensity + Design Rules + + + ConstructorCallsOverridableMethod + Design Rules + + + AccessorClassGeneration + Design Rules + + + FinalFieldCouldBeStatic + Design Rules + + + CloseResource + Design Rules + + + NonStaticInitializer + Design Rules + + + DefaultLabelNotLastInSwitchStmt + Design Rules + + + NonCaseLabelInSwitchStatement + Design Rules + + + OptimizableToArrayCall + Design Rules + + + BadComparison + Design Rules + + + EqualsNull + Design Rules + + + ConfusingTernary + Design Rules + + + InstantiationToGetClass + Design Rules + + + IdempotentOperations + Design Rules + + + SimpleDateFormatNeedsLocale + Design Rules + + + ImmutableField + Design Rules + + + UseLocaleWithCaseConversions + Design Rules + + + AvoidProtectedFieldInFinalClass + Design Rules + + + AssignmentToNonFinalStatic + Design Rules + + + MissingStaticMethodInNonInstantiatableClass + Design Rules + + + AvoidSynchronizedAtMethodLevel + Design Rules + + + MissingBreakInSwitch + Design Rules + + + UseNotifyAllInsteadOfNotify + Design Rules + + + AvoidInstanceofChecksInCatchClause + Design Rules + + + AbstractClassWithoutAbstractMethod + Design Rules + + + SimplifyConditional + Design Rules + + + CompareObjectsWithEquals + Design Rules + + + PositionLiteralsFirstInComparisons + Design Rules + + + UnnecessaryLocalBeforeReturn + Design Rules + + + NonThreadSafeSingleton + Design Rules + + + UncommentedEmptyMethod + Design Rules + + + UncommentedEmptyConstructor + Design Rules + + + AvoidConstantsInterface + Design Rules + + + UnsynchronizedStaticDateFormatter + Design Rules + + + PreserveStackTrace + Design Rules + + + UseCollectionIsEmpty + Design Rules + + + ClassWithOnlyPrivateConstructorsShouldBeFinal + Design Rules + + + EmptyMethodInAbstractClassShouldBeAbstract + Design Rules + + + SingularField + Design Rules + + + ReturnEmptyArrayRatherThanNull + Design Rules + + + AbstractClassWithoutAnyMethod + Design Rules + + + TooFewBranchesForASwitchStatement + Design Rules + + + AvoidCatchingThrowable + Strict Exception Rules + + + SignatureDeclareThrowsException + Type Resolution Rules + + + ExceptionAsFlowControl + Strict Exception Rules + + + AvoidCatchingNPE + Strict Exception Rules + + + AvoidThrowingRawExceptionTypes + Strict Exception Rules + + + AvoidThrowingNullPointerException + Strict Exception Rules + + + AvoidRethrowingException + Strict Exception Rules + + + DoNotExtendJavaLangError + Strict Exception Rules + + + DoNotThrowExceptionInFinally + Strict Exception Rules + + + AvoidThrowingNewInstanceOfSameException + Strict Exception Rules + + + UnusedPrivateField + Unused Code Rules + + + UnusedLocalVariable + Unused Code Rules + + + UnusedPrivateMethod + Unused Code Rules + + + UnusedFormalParameter + Unused Code Rules + + + MoreThanOneLogger + Java Logging Rules + + + LoggerIsNotStaticFinal + Java Logging Rules + + + SystemPrintln + Java Logging Rules + + + AvoidPrintStackTrace + Java Logging Rules + + + AvoidDuplicateLiterals + String and StringBuffer Rules + + + StringInstantiation + String and StringBuffer Rules + + + StringToString + String and StringBuffer Rules + + + InefficientStringBuffering + String and StringBuffer Rules + + + UnnecessaryCaseChange + String and StringBuffer Rules + + + UseStringBufferLength + String and StringBuffer Rules + + + AppendCharacterWithChar + String and StringBuffer Rules + + + ConsecutiveLiteralAppends + String and StringBuffer Rules + + + UseIndexOfChar + String and StringBuffer Rules + + + InefficientEmptyStringCheck + String and StringBuffer Rules + + + InsufficientStringBufferDeclaration + String and StringBuffer Rules + + + UselessStringValueOf + String and StringBuffer Rules + + + StringBufferInstantiationWithChar + String and StringBuffer Rules + + + UseEqualsToCompareStrings + String and StringBuffer Rules + + + AvoidStringBufferField + String and StringBuffer Rules + + + ReplaceVectorWithList + Migration Rules + + + ReplaceHashtableWithMap + Migration Rules + + + ReplaceEnumerationWithIterator + Migration Rules + + + AvoidEnumAsIdentifier + Migration Rules + + + AvoidAssertAsIdentifier + Migration Rules + + + IntegerInstantiation + Migration Rules + + + ByteInstantiation + Migration Rules + + + ShortInstantiation + Migration Rules + + + LongInstantiation + Migration Rules + + + JUnit4TestShouldUseBeforeAnnotation + Migration Rules + + + JUnit4TestShouldUseAfterAnnotation + Migration Rules + + + JUnit4TestShouldUseTestAnnotation + Migration Rules + + + JUnit4SuitesShouldUseSuiteAnnotation + Migration Rules + + + JUnitUseExpected + Migration Rules + + + UseProperClassLoader + J2EE Rules + + + MDBAndSessionBeanNamingConvention + J2EE Rules + + + RemoteSessionInterfaceNamingConvention + J2EE Rules + + + LocalInterfaceSessionNamingConvention + J2EE Rules + + + LocalHomeNamingConvention + J2EE Rules + + + RemoteInterfaceNamingConvention + J2EE Rules + + + DoNotCallSystemExit + J2EE Rules + + + StaticEJBFieldShouldBeFinal + J2EE Rules + + + DoNotUseThreads + J2EE Rules + + + AvoidInstantiatingObjectsInLoops + Optimization Rules + + + UseArrayListInsteadOfVector + Optimization Rules + + + SimplifyStartsWith + Optimization Rules + + + UseStringBufferForStringAppends + Optimization Rules + + + UseArraysAsList + Optimization Rules + + + AvoidArrayLoops + Optimization Rules + + + UnnecessaryWrapperObjectCreation + Optimization Rules + + + AddEmptyString + Optimization Rules + + + EmptyCatchBlock + Basic Rules + + + EmptyIfStmt + Basic Rules + + + EmptyWhileStmt + Basic Rules + + + EmptyTryBlock + Basic Rules + + + EmptyFinallyBlock + Basic Rules + + + EmptySwitchStatements + Basic Rules + + + JumbledIncrementer + Basic Rules + + + ForLoopShouldBeWhileLoop + Basic Rules + + + UnnecessaryConversionTemporary + Basic Rules + + + OverrideBothEqualsAndHashcode + Basic Rules + + + DoubleCheckedLocking + Basic Rules + + + ReturnFromFinallyBlock + Basic Rules + + + EmptySynchronizedBlock + Basic Rules + + + UnnecessaryReturn + Basic Rules + + + EmptyStaticInitializer + Basic Rules + + + UnconditionalIfStatement + Basic Rules + + + EmptyStatementNotInLoop + Basic Rules + + + BooleanInstantiation + Basic Rules + + + UnnecessaryFinalModifier + Basic Rules + + + CollapsibleIfStatements + Basic Rules + + + UselessOverridingMethod + Basic Rules + + + ClassCastExceptionWithToArray + Basic Rules + + + AvoidDecimalLiteralsInBigDecimalConstructor + Basic Rules + + + UselessOperationOnImmutable + Basic Rules + + + MisplacedNullCheck + Basic Rules + + + UnusedNullCheckInEquals + Basic Rules + + + AvoidThreadGroup + Basic Rules + + + BrokenNullCheck + Basic Rules + + + BigIntegerInstantiation + Basic Rules + + + AvoidUsingOctalValues + Basic Rules + + + AvoidUsingHardCodedIP + Basic Rules + + + CheckResultSet + Basic Rules + + + AvoidMultipleUnaryOperators + Basic Rules + + + EmptyInitializer + Basic Rules + + + MethodReturnsInternalArray + Security Code Guidelines + + + ArrayIsStoredDirectly + Security Code Guidelines + + + CouplingBetweenObjects + Coupling Rules + + + ExcessiveImports + Coupling Rules + + + LooseCoupling + Type Resolution Rules + + + DuplicateImports + Import Statement Rules + + + DontImportJavaLang + Import Statement Rules + + + UnusedImports + Type Resolution Rules + + + ImportFromSamePackage + Import Statement Rules + + + TooManyStaticImports + Import Statement Rules + + + JUnitStaticSuite + JUnit Rules + + + JUnitSpelling + JUnit Rules + + + JUnitAssertionsShouldIncludeMessage + JUnit Rules + + + JUnitTestsShouldIncludeAssert + JUnit Rules + + + TestClassWithoutTestCases + JUnit Rules + + + UnnecessaryBooleanAssertion + JUnit Rules + + + UseAssertEqualsInsteadOfAssertTrue + JUnit Rules + + + UseAssertSameInsteadOfAssertTrue + JUnit Rules + + + UseAssertNullInsteadOfAssertTrue + JUnit Rules + + + SimplifyBooleanAssertion + JUnit Rules + + + UnnecessaryConstructor + Controversial Rules + + + NullAssignment + Controversial Rules + + + UnusedModifier + Controversial Rules + + + AssignmentInOperand + Controversial Rules + + + AtLeastOneConstructor + Controversial Rules + + + DontImportSun + Controversial Rules + + + SuspiciousOctalEscape + Controversial Rules + + + CallSuperInConstructor + Controversial Rules + + + UnnecessaryParentheses + Controversial Rules + + + DefaultPackage + Controversial Rules + + + BooleanInversion + Controversial Rules + + + DataflowAnomalyAnalysis + Controversial Rules + + + AvoidFinalLocalVariable + Controversial Rules + + + AvoidUsingShortType + Controversial Rules + + + AvoidUsingVolatile + Controversial Rules + + + AvoidUsingNativeCode + Controversial Rules + + + AvoidAccessibilityAlteration + Controversial Rules + + + DoNotCallGarbageCollectionExplicitly + Controversial Rules + + + MethodNamingConventions + Naming Rules + + + ClassNamingConventions + Naming Rules + + + AbstractNaming + Naming Rules + + + AvoidDollarSigns + Naming Rules + + + MethodWithSameNameAsEnclosingClass + Naming Rules + + + SuspiciousHashcodeMethodName + Naming Rules + + + SuspiciousConstantFieldName + Naming Rules + + + SuspiciousEqualsMethodName + Naming Rules + + + AvoidFieldNameMatchingTypeName + Naming Rules + + + AvoidFieldNameMatchingMethodName + Naming Rules + + + NoPackage + Naming Rules + + + PackageCase + Naming Rules + + + MisleadingVariableName + Naming Rules + + + BooleanGetMethodName + Naming Rules + + + NPathComplexity + Code Size Rules + + + ExcessiveMethodLength + Code Size Rules + + + ExcessiveParameterList + Code Size Rules + + + ExcessiveClassLength + Code Size Rules + + + CyclomaticComplexity + Code Size Rules + + + ExcessivePublicCount + Code Size Rules + + + TooManyFields + Code Size Rules + + + NcssMethodCount + Code Size Rules + + + NcssTypeCount + Code Size Rules + + + NcssConstructorCount + Code Size Rules + + + TooManyMethods + Code Size Rules + + + EmptyFinalizer + Finalizer Rules + + + FinalizeOnlyCallsSuperFinalize + Finalizer Rules + + + FinalizeOverloaded + Finalizer Rules + + + FinalizeDoesNotCallSuperFinalize + Finalizer Rules + + + FinalizeShouldBeProtected + Finalizer Rules + + + AvoidCallingFinalize + Finalizer Rules + + + UseCorrectExceptionLogging + Jakarta Commons Logging Rules + + + ProperLogger + Jakarta Commons Logging Rules + + + MissingSerialVersionUID + JavaBean Rules + + + ProperCloneImplementation + Clone Implementation Rules + + + CloneThrowsCloneNotSupportedException + Clone Implementation Rules + + + CloneMethodMustImplementCloneable + Type Resolution Rules + + + false + true + diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/.project b/plugins/org.eclipse.osee.ats.client.integration.tests/.project new file mode 100644 index 00000000000..c11a5f51726 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/.project @@ -0,0 +1,28 @@ + + + org.eclipse.osee.ats.client.integration.tests + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/AtsClient_Integration_TestSuite.launch b/plugins/org.eclipse.osee.ats.client.integration.tests/AtsClient_Integration_TestSuite.launch new file mode 100644 index 00000000000..34a308e1e74 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/AtsClient_Integration_TestSuite.launch @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.client.integration.tests/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..b57bbcc0d14 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/META-INF/MANIFEST.MF @@ -0,0 +1,43 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: ATS Client Integration Tests (Incubation) +Bundle-SymbolicName: org.eclipse.osee.ats.client.integration.tests +Bundle-Version: 0.11.0.qualifier +Bundle-Vendor: Eclipse Open System Engineering Environment +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Require-Bundle: org.junit, + org.eclipse.core.runtime, + org.eclipse.core.resources, + org.eclipse.ui, + org.eclipse.ui.forms, + org.eclipse.osee.ats, + org.eclipse.osee.ats.api, + org.eclipse.osee.ats.core, + org.eclipse.osee.ats.core.client, + org.eclipse.osee.support.test.util, + org.eclipse.osee.framework.ui.skynet, + org.eclipse.osee.framework.skynet.core +Import-Package: org.eclipse.nebula.widgets.xviewer, + org.eclipse.nebula.widgets.xviewer.customize, + org.eclipse.nebula.widgets.xviewer.customize.dialog, + org.eclipse.osee.ats.client.demo, + org.eclipse.osee.ats.mocks, + org.eclipse.osee.framework.core.client, + org.eclipse.osee.framework.core.data, + org.eclipse.osee.framework.core.dsl.integration, + org.eclipse.osee.framework.core.enums, + org.eclipse.osee.framework.core.exception, + org.eclipse.osee.framework.core.model, + org.eclipse.osee.framework.core.model.cache, + org.eclipse.osee.framework.core.operation, + org.eclipse.osee.framework.core.util, + org.eclipse.osee.framework.database.core, + org.eclipse.osee.framework.database.init, + org.eclipse.osee.framework.jdk.core.type, + org.eclipse.osee.framework.jdk.core.util, + org.eclipse.osee.framework.logging, + org.eclipse.osee.framework.ui.plugin, + org.eclipse.osee.framework.ui.plugin.util, + org.eclipse.osee.framework.ui.plugin.xnavigate, + org.eclipse.osee.framework.ui.swt, + org.osgi.framework diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/build.properties b/plugins/org.eclipse.osee.ats.client.integration.tests/build.properties new file mode 100644 index 00000000000..125e3fcfbe7 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/build.properties @@ -0,0 +1,16 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . +additional.bundles = org.eclipse.osee.ats.mocks,\ + org.eclipse.osee.ats.client.demo,\ + org.eclipse.osee.framework.jdk.core,\ + org.eclipse.osee.framework.logging,\ + org.eclipse.osee.framework.core,\ + org.eclipse.osee.framework.core.model,\ + org.eclipse.osee.framework.database,\ + org.eclipse.osee.framework.ui.plugin,\ + org.eclipse.nebula.widgets.xviewer,\ + org.eclipse.osee.framework.ui.swt,\ + org.eclipse.osee.framework.core.client,\ + org.eclipse.osee.framework.database.init diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/logback-test.xml b/plugins/org.eclipse.osee.ats.client.integration.tests/logback-test.xml new file mode 100644 index 00000000000..925057f12cc --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/logback-test.xml @@ -0,0 +1,29 @@ + + + + + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/osee-application-server.xml b/plugins/org.eclipse.osee.ats.client.integration.tests/osee-application-server.xml new file mode 100644 index 00000000000..61d7d5c9a05 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/osee-application-server.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + osgi> + close + + + + + + + + + + + + + + + + + + + + + + <DbConnection> + <DatabaseInfo id="db.connection.info">${line.separator} + <DatabaseHome key="#DBHOME#" value="@{dbHome}" />${line.separator} + <DatabaseName key="#DBNAME#" value="@{dbName}" />${line.separator} + <DatabaseType key="#TYPE#" value="@{dbType}" />${line.separator} + <Prefix key="#PREFIX#" value="@{dbPrefix}" />${line.separator} + <UserName key="#USERNAME#" value="@{dbUser}" />${line.separator} + <Password key="#PASSWORD#" value="@{dbPasswd}" />${line.separator} + <Host key="#HOST#" value="@AvailableDbServices.hostAddress" />${line.separator} + <Port key="#PORT#" value="@AvailableDbServices.port" />${line.separator} + </DatabaseInfo>${line.separator} + ${line.separator} + <ConnectionDescription id="h2.db.connection">${line.separator} + <Driver>org.h2.Driver</Driver>${line.separator} + <Url>#PREFIX#:tcp://#HOST#:#PORT#/#DBHOME##DBNAME#;IGNORECASE=TRUE;SCHEMA_SEARCH_PATH=@{dbUser}, PUBLIC;MVCC=TRUE</Url>${line.separator} + </ConnectionDescription>${line.separator} + ${line.separator} + <ConnectionDescription id="postgresql.db.connection">${line.separator} + <Driver>org.postgresql.Driver</Driver>${line.separator} + <Url>#PREFIX#://#HOST#:#PORT#/#DBHOME##DBNAME#</Url>${line.separator} + </ConnectionDescription>${line.separator} + ${line.separator} + + + + ${line.separator}${line.separator} + <AvailableDbServices>${line.separator} + <Server id="@{connectionId}" dbInfo="db.connection.info" connectsWith="@{dbDriver}" hostAddress="@{dbAddress}" port="@{dbPort}" />${line.separator} + </AvailableDbServices>${line.separator} + </DbConnection> + + + + + \ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/pom.xml b/plugins/org.eclipse.osee.ats.client.integration.tests/pom.xml new file mode 100644 index 00000000000..8a554381a06 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/pom.xml @@ -0,0 +1,203 @@ + + + 4.0.0 + + + org.eclipse.osee + org.eclipse.osee.ats.parent + 0.11.0-SNAPSHOT + ../../plugins/org.eclipse.osee.ats.parent + + + org.eclipse.osee.ats.client.integration.tests + eclipse-test-plugin + OSEE ATS Client Integration Tests (Incubation) + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + org.eclipse.osee.ats.client.integration.tests + org.eclipse.osee.ats.client.integration.AtsClientIntegrationTestSuite + true + true + true + org.eclipse.osee.framework.ui.product.osee + org.eclipse.ui.ide.workbench + -Xmx1024M -XX:MaxPermSize=256m + -consoleLog + + WARNING + log + new + true + http://localhost:${ats-server-port} + + false + + + eclipse-feature + org.eclipse.osee.ats.feature + 0.0.0 + + + eclipse-feature + org.eclipse.osee.ats.client.demo.feature + 0.0.0 + + + eclipse-feature + org.eclipse.sdk + 0.0.0 + + + + + + + + + + ats-client-int-test-debug + + false + + + 9009 + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + ${ats-int-test-debug-port} + + + + + + + + ats-client-int-test-remote-server + + false + + + 8089 + + + + ats-client-int-test-local-server + + true + + + + + org.codehaus.mojo + build-helper-maven-plugin + ${build-helper-maven-plugin-version} + + + ats-reserve-ports + pre-integration-test + + reserve-network-port + + + + ats-server-port + ats-server-db-port + ats-server-db-web-port + ats-server-telnet-port + + + + + + + maven-antrun-plugin + ${maven-antrun-version} + + + ats-server-start + pre-integration-test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + run + + + + ats-server-stop + post-integration-test + + + + + + + + + + + + + + + + + run + + + + + + + + + + \ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/AtsClientIntegrationTestSuite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/AtsClientIntegrationTestSuite.java new file mode 100644 index 00000000000..9d7866915e4 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/AtsClientIntegrationTestSuite.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration; + +import org.eclipse.osee.ats.client.integration.tests.AtsTest_AllAts_Suite; +import org.eclipse.osee.ats.client.integration.tests.DemoDbPopulateSuite; +import org.eclipse.osee.ats.client.integration.tests.DirtyArtifactCacheTest; +import org.eclipse.osee.ats.client.integration.tests.util.DbInitTest; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + DbInitTest.class, + DemoDbPopulateSuite.class, + AtsTest_AllAts_Suite.class, + DirtyArtifactCacheTest.class}) +public class AtsClientIntegrationTestSuite { + // Test Suite +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/AtsTest_AllAts_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/AtsTest_AllAts_Suite.java new file mode 100644 index 00000000000..73181527896 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/AtsTest_AllAts_Suite.java @@ -0,0 +1,60 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.demo.DemoUtil; +import org.eclipse.osee.ats.client.integration.AtsClientIntegrationTestSuite; +import org.eclipse.osee.ats.client.integration.tests.ats.AtsTest_Ats_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsCoreClient_Suite; +import org.eclipse.osee.framework.core.client.ClientSessionManager; +import org.eclipse.osee.framework.core.client.OseeClientSession; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.ui.skynet.render.RenderingUtil; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsCoreClient_Suite.class, AtsTest_Ats_Suite.class}) +public class AtsTest_AllAts_Suite { + + @BeforeClass + public static void setUp() throws Exception { + DemoUtil.checkDbInitSuccess(); + System.out.println("\nBegin " + AtsClientIntegrationTestSuite.class.getSimpleName()); + OseeProperties.setIsInTest(true); + assertTrue("Demo Application Server must be running.", + ClientSessionManager.getAuthenticationProtocols().contains("demo")); + assertTrue("Client must authenticate using demo protocol", + ClientSessionManager.getSession().getAuthenticationProtocol().equals("demo")); + assertTrue("Should be run on demo database.", TestUtil.isDemoDb()); + + OseeClientSession session = ClientSessionManager.getSession(); + assertEquals("Must run populate as Joe Smith", DemoUsers.Joe_Smith.getUserId(), session.getUserId()); + assertEquals("Must run populate as Joe Smith", DemoUsers.Joe_Smith.getUserId(), UserManager.getUser().getUserId()); + + RenderingUtil.setPopupsAllowed(false); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsClientIntegrationTestSuite.class.getSimpleName() + "\n\n"); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DemoDbGroupsTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DemoDbGroupsTest.java new file mode 100644 index 00000000000..3702fa1aa6c --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DemoDbGroupsTest.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests; + +import java.util.Collection; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.client.demo.DemoArtifactTypes; +import org.eclipse.osee.ats.client.demo.DemoGroups; +import org.eclipse.osee.ats.client.demo.DemoUtil; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; +import org.eclipse.osee.framework.core.enums.CoreRelationTypes; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.utility.Artifacts; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class DemoDbGroupsTest { + + @BeforeClass + public static void validateDbInit() throws OseeCoreException { + DemoUtil.checkDbInitAndPopulateSuccess(); + } + + @Test + public void testCreateGroups() throws OseeCoreException { + Artifact groupArt = + ArtifactQuery.getArtifactFromTypeAndName(CoreArtifactTypes.UniversalGroup, DemoGroups.TEST_GROUP_NAME, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(groupArt); + + Collection members = groupArt.getRelatedArtifacts(CoreRelationTypes.Universal_Grouping__Members); + Assert.assertEquals(23, members.size()); + + Assert.assertEquals(2, Artifacts.getOfType(AtsArtifactTypes.Action, members).size()); + Assert.assertEquals(14, Artifacts.getOfType(AtsArtifactTypes.Task, members).size()); + Assert.assertEquals(2, Artifacts.getOfType(DemoArtifactTypes.DemoCodeTeamWorkflow, members).size()); + Assert.assertEquals(2, Artifacts.getOfType(DemoArtifactTypes.DemoTestTeamWorkflow, members).size()); + Assert.assertEquals(2, Artifacts.getOfType(DemoArtifactTypes.DemoReqTeamWorkflow, members).size()); + Assert.assertEquals(7, Artifacts.getOfType(AtsArtifactTypes.TeamWorkflow, members).size()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DemoDbPopulateSuite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DemoDbPopulateSuite.java new file mode 100644 index 00000000000..a922e1e57cf --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DemoDbPopulateSuite.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests; + +import static org.junit.Assert.assertTrue; +import org.eclipse.osee.ats.client.demo.DemoUtil; +import org.eclipse.osee.framework.core.client.ClientSessionManager; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.eclipse.osee.framework.ui.skynet.render.RenderingUtil; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({PopulateDemoDatabaseTest.class, DemoDbGroupsTest.class, PopulateDemoActionsTest.class}) +/** + * @author Donald G. Dunne + */ +public class DemoDbPopulateSuite { + @BeforeClass + public static void setUp() throws Exception { + DemoUtil.checkDbInitSuccess(); + System.out.println("\nBegin " + DemoDbPopulateSuite.class.getSimpleName()); + OseeProperties.setIsInTest(true); + assertTrue("Demo Application Server must be running.", + ClientSessionManager.getAuthenticationProtocols().contains("demo")); + assertTrue("Client must authenticate using demo protocol", + ClientSessionManager.getSession().getAuthenticationProtocol().equals("demo")); + assertTrue("Should be run on demo database.", TestUtil.isDemoDb()); + + RenderingUtil.setPopupsAllowed(false); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + DemoDbPopulateSuite.class.getSimpleName() + "\n\n"); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DirtyArtifactCacheTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DirtyArtifactCacheTest.java new file mode 100644 index 00000000000..6cf9e69011d --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/DirtyArtifactCacheTest.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests; + +import java.util.Collection; +import java.util.logging.Level; +import junit.framework.Assert; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache; +import org.eclipse.osee.framework.skynet.core.utility.Artifacts; + +/** + * This test should be run as the last test of a suite to make sure that the ArtifactCache has no dirty artifacts. + * + * @author Donald G. Dunne + */ +public class DirtyArtifactCacheTest { + + @org.junit.Test + public void testArtifactCacheNotDirty() { + final Collection dirtyArtifacts = ArtifactCache.getDirtyArtifacts(); + for (Artifact artifact : dirtyArtifacts) { + OseeLog.logf(getClass(), Level.WARNING, "Name: %s Type: %s ", artifact.getName(), + artifact.getArtifactTypeName()); + } + Assert.assertTrue(String.format( + "After all tests are run, there should be no dirty artifacts in Artifact Cache; \n Found [%s]", + Artifacts.getNames(dirtyArtifacts)), dirtyArtifacts.isEmpty()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/PopulateDemoActionsTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/PopulateDemoActionsTest.java new file mode 100644 index 00000000000..4661a19d338 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/PopulateDemoActionsTest.java @@ -0,0 +1,521 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.version.IAtsVersion; +import org.eclipse.osee.ats.client.demo.DemoArtifactTypes; +import org.eclipse.osee.ats.client.demo.DemoSawBuilds; +import org.eclipse.osee.ats.client.demo.DemoTeam; +import org.eclipse.osee.ats.client.demo.DemoUtil; +import org.eclipse.osee.ats.client.demo.PopulateDemoActions; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.core.client.action.ActionArtifact; +import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; +import org.eclipse.osee.ats.core.client.review.AbstractReviewArtifact; +import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; +import org.eclipse.osee.ats.core.client.review.DecisionReviewState; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewState; +import org.eclipse.osee.ats.core.client.review.ReviewManager; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.task.TaskStates; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.config.AtsVersionService; +import org.eclipse.osee.ats.core.util.AtsObjects; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.data.IArtifactType; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; + +/** + * Test unit for {@link PopulateDemoActions} + * + * @author Donald G. Dunne + */ +public class PopulateDemoActionsTest { + @BeforeClass + public static void validateDbInit() throws OseeCoreException { + DemoUtil.checkDbInitAndPopulateSuccess(); + } + + @Before + public void setup() { + AtsBulkLoad.reloadConfig(true); + } + + @org.junit.Test + public void testSawBuild2Action1() throws OseeCoreException { + + // {@link DemoDbActionData.getReqSawActionsData()} - 1 + String title = "SAW (committed) Reqt Changes for Diagram View"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + + // test teams + Assert.assertEquals(3, action.getTeams().size()); + TeamWorkFlowArtifact codeTeamArt = null; + int numTested = 0; + for (TeamWorkFlowArtifact teamArt : action.getTeams()) { + teamArt.getActionableItemsDam().getActionableItemGuids(); + if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Code")) { + numTested++; + codeTeamArt = teamArt; + testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW Code", "Joe Smith", DemoArtifactTypes.DemoCodeTeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_Code)); + } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Test")) { + numTested++; + testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW Test", "Kay Jones", DemoArtifactTypes.DemoTestTeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_Test)); + } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Req")) { + numTested++; + testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW Requirements", "Joe Smith", DemoArtifactTypes.DemoReqTeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_Requirements)); + } + } + Assert.assertEquals(3, numTested); + Assert.assertNotNull(codeTeamArt); + + // test reviews + Assert.assertEquals("Should only be two reviews", 2, ReviewManager.getReviews(codeTeamArt).size()); + PeerToPeerReviewArtifact rev1 = null; + PeerToPeerReviewArtifact rev2 = null; + for (AbstractReviewArtifact revArt : ReviewManager.getReviews(codeTeamArt)) { + if (revArt.getName().contains("algorithm")) { + rev1 = (PeerToPeerReviewArtifact) revArt; + } else { + rev2 = (PeerToPeerReviewArtifact) revArt; + } + } + Assert.assertNotNull(rev1); + Assert.assertNotNull(rev2); + testReviewContents(rev1, "Peer Review algorithm used in code", PeerToPeerReviewState.Review.getName(), + new String[] {"Joe Smith", "Kay Jones"}); + testReviewContents(rev2, "Peer Review first set of code changes", PeerToPeerReviewState.Prepare.getName(), + "Joe Smith"); + + // test tasks + List taskNames = new ArrayList(); + taskNames.addAll(DemoTestUtil.getTaskTitles(true)); + for (TaskArtifact task : codeTeamArt.getTaskArtifacts()) { + testTaskContents(task, TaskStates.InWork.getName(), TeamState.Implement.getName()); + taskNames.remove(task.getName()); + Assert.assertEquals("Joe Smith; Kay Jones", task.getStateMgr().getAssigneesStr()); + } + Assert.assertEquals( + String.format("Not all tasks exist for [%s]; [%s] remain", codeTeamArt.toStringWithId(), taskNames), 0, + taskNames.size()); + } + + @org.junit.Test + public void testSawBuild2Action2() throws OseeCoreException { + // {@link DemoDbActionData.getReqSawActionsData()} - 2 + String title = "SAW (uncommitted) More Reqt Changes for Diagram View"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(4, action.getTeams().size()); + TeamWorkFlowArtifact codeTeam = null, designTeam = null; + int numTested = 0; + for (TeamWorkFlowArtifact teamArt : action.getTeams()) { + if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Code")) { + numTested++; + + codeTeam = teamArt; + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW Code", "Joe Smith", DemoArtifactTypes.DemoCodeTeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_Code)); + } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Test")) { + numTested++; + + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW Test", "Kay Jones", DemoArtifactTypes.DemoTestTeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_Test)); + } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Req")) { + numTested++; + + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW Requirements", "Joe Smith", DemoArtifactTypes.DemoReqTeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_Requirements)); + } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Design")) { + numTested++; + + designTeam = teamArt; + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW SW Design", "Kay Jones", AtsArtifactTypes.TeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_SW_Design)); + } + } + Assert.assertEquals(4, numTested); + // test code team 1 review and 6 tasks + // - test review + Assert.assertNotNull(codeTeam); + Collection reviews = ReviewManager.getReviews(codeTeam); + Assert.assertEquals(1, reviews.size()); + PeerToPeerReviewArtifact revArt = (PeerToPeerReviewArtifact) reviews.iterator().next(); + testReviewContents(revArt, "Review new logic", PeerToPeerReviewState.Completed.getName()); + + // - test tasks + List taskNames = new ArrayList(); + taskNames.addAll(DemoTestUtil.getTaskTitles(false)); + for (TaskArtifact task : codeTeam.getTaskArtifacts()) { + testTaskContents(task, TaskStates.InWork.getName(), TeamState.Implement.getName()); + taskNames.remove(task.getName()); + Assert.assertEquals("Joe Smith", task.getStateMgr().getAssigneesStr()); + } + Assert.assertEquals( + String.format("Not all tasks exist for [%s]; [%s] remain", codeTeam.toStringWithId(), taskNames), 0, + taskNames.size()); + + // test sw_design 1 peer and 1 decision review + testSwDesign1PeerAnd1DecisionReview(designTeam); + + } + + @org.junit.Test + public void testSawBuild2Action3() throws OseeCoreException { + // {@link DemoDbActionData.getReqSawActionsData()} - 3 + String title = "SAW (no-branch) Even More Requirement Changes for Diagram View"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(4, action.getTeams().size()); + Assert.assertEquals(4, action.getTeams().size()); + TeamWorkFlowArtifact designTeam = null; + int numTested = 0; + for (TeamWorkFlowArtifact teamArt : action.getTeams()) { + if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Code")) { + numTested++; + + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW Code", "Joe Smith", DemoArtifactTypes.DemoCodeTeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_Code)); + } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Test")) { + numTested++; + + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW Test", "Kay Jones", DemoArtifactTypes.DemoTestTeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_Test)); + } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Req")) { + numTested++; + + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW Requirements", "Joe Smith", DemoArtifactTypes.DemoReqTeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_Requirements)); + } else if (teamArt.getActionableItemsDam().getActionableItemsStr().contains("Design")) { + numTested++; + + designTeam = teamArt; + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW SW Design", "Kay Jones", AtsArtifactTypes.TeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_SW_Design)); + } + } + Assert.assertEquals(4, numTested); + // test sw_design 1 peer and 1 decision review + testSwDesign1PeerAnd1DecisionReview(designTeam); + + } + + @org.junit.Test + public void testSawBuild2Action4() throws OseeCoreException { + // {@link DemoDbActionData.getReqSawActionsData()} - 4 + String title = "SAW (uncommitted-conflicted) More Requirement Changes for Diagram View"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "SAW Requirements", "Joe Smith", DemoArtifactTypes.DemoReqTeamWorkflow, + DemoTestUtil.getTeamDef(DemoTeam.SAW_Requirements)); + } + + @org.junit.Test + public void testWorkaroundForGraphViewBld1Action() throws OseeCoreException { + String title = "Workaround for Graph View for SAW_Bld_1"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_1.getName(), TeamState.Completed.getName(), + "Adapter", "", DemoArtifactTypes.DemoReqTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_HW)); + } + + @org.junit.Test + public void testWorkaroundForGraphViewBld2Action() throws OseeCoreException { + String title = "Workaround for Graph View for SAW_Bld_2"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Implement.getName(), + "Adapter", "Jason Michael", DemoArtifactTypes.DemoReqTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_HW)); + } + + @org.junit.Test + public void testWorkaroundForGraphViewBld3Action() throws OseeCoreException { + String title = "Workaround for Graph View for SAW_Bld_3"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "1", DemoSawBuilds.SAW_Bld_3.getName(), TeamState.Implement.getName(), + "Adapter", "Jason Michael", DemoArtifactTypes.DemoReqTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_HW)); + } + + @org.junit.Test + public void testWorkingWithDiagramTreeBld1Action() throws OseeCoreException { + String title = "Working with Diagram Tree for SAW_Bld_1"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_1.getName(), TeamState.Completed.getName(), + "SAW SW Design", "", AtsArtifactTypes.TeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_SW_Design)); + } + + @org.junit.Test + public void testWorkingWithDiagramTreeBld2Action() throws OseeCoreException { + String title = "Working with Diagram Tree for SAW_Bld_2"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_2.getName(), TeamState.Endorse.getName(), + "SAW SW Design", "Kay Jones", AtsArtifactTypes.TeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_SW_Design)); + } + + @org.junit.Test + public void testWorkingWithDiagramTreeBld3Action() throws OseeCoreException { + String title = "Working with Diagram Tree for SAW_Bld_3"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "3", DemoSawBuilds.SAW_Bld_3.getName(), TeamState.Endorse.getName(), + "SAW SW Design", "Kay Jones", AtsArtifactTypes.TeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_SW_Design)); + } + + @org.junit.Test + public void testButton2DoesntWorkOnHelpAction() throws OseeCoreException { + String title = "Button S doesn't work on help"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "3", "", TeamState.Completed.getName(), "Reader", "", + AtsArtifactTypes.TeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.Tools_Team)); + + // test decision review + Collection reviews = ReviewManager.getReviews(teamArt); + Assert.assertEquals(1, reviews.size()); + DecisionReviewArtifact revArt = (DecisionReviewArtifact) reviews.iterator().next(); + testReviewContents(revArt, "Is the resolution of this Action valid?", DecisionReviewState.Decision.getName(), + "Joe Smith"); + + } + + @org.junit.Test + public void testButtonWDoesntWorkOnSituationPageAction() throws OseeCoreException { + String title = "Button W doesn't work on Situation Page"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "3", "", TeamState.Analyze.getName(), "CIS Test", "Kay Jones", + DemoArtifactTypes.DemoTestTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.CIS_Test)); + + // test decision review + Collection reviews = ReviewManager.getReviews(teamArt); + Assert.assertEquals(1, reviews.size()); + DecisionReviewArtifact revArt = (DecisionReviewArtifact) reviews.iterator().next(); + testReviewContents(revArt, "Is the resolution of this Action valid?", DecisionReviewState.Followup.getName(), + "Joe Smith"); + + } + + @org.junit.Test + public void testCantLoadDiagramTreeAction() throws OseeCoreException { + String title = "Can't load Diagram Tree"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "3", "", TeamState.Endorse.getName(), "CIS Test", "Kay Jones", + DemoArtifactTypes.DemoTestTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.CIS_Test)); + } + + @org.junit.Test + public void testCantSeeTheGraphViewAction() throws OseeCoreException { + String title = "Can't see the Graph View"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "1", "", TeamState.Implement.getName(), "Adapter", "Jason Michael", + DemoArtifactTypes.DemoReqTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_HW)); + + } + + @org.junit.Test + public void testProblemInDiagramTreeAction() throws OseeCoreException { + String title = "Problem in Diagram Tree"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "3", "", TeamState.Endorse.getName(), "CIS Test", "Kay Jones", + DemoArtifactTypes.DemoTestTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.CIS_Test)); + + } + + @org.junit.Test + public void testProblemWithTheGraphViewAction() throws OseeCoreException { + String title = "Problem with the Graph View"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "1", "", TeamState.Implement.getName(), "Adapter", "Jason Michael", + DemoArtifactTypes.DemoReqTeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.SAW_HW)); + + } + + @org.junit.Test + public void testProblemWithTheUserWindowAction() throws OseeCoreException { + String title = "Problem with the user window"; + ActionArtifact action = + (ActionArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.Action, title, + AtsUtil.getAtsBranchToken()); + Assert.assertNotNull(action); + Assert.assertEquals(1, action.getTeams().size()); + TeamWorkFlowArtifact teamArt = action.getTeams().iterator().next(); + + testTeamContents(teamArt, title, "4", "", TeamState.Implement.getName(), "Timesheet", "Jeffery Kay", + AtsArtifactTypes.TeamWorkflow, DemoTestUtil.getTeamDef(DemoTeam.Tools_Team)); + + } + + private static void testReviewContents(AbstractReviewArtifact revArt, String title, String currentStateName, String... assigneeStrs) throws OseeCoreException { + Assert.assertEquals(title, revArt.getName()); + Assert.assertEquals(currentStateName, revArt.getCurrentStateName()); + + Collection assigneeNames = AtsObjects.getNames(revArt.getStateMgr().getAssignees()); + + Assert.assertEquals(assigneeNames.size(), assigneeStrs.length); + for (String assignee : assigneeStrs) { + if (!assigneeNames.contains(assignee)) { + Assert.fail(String.format("revArt.getStateMgr().getAssignees(), does not contain user: %s", assignee)); + } + } + } + + private static void testTeamContents(TeamWorkFlowArtifact teamArt, String title, String priority, String versionName, String currentStateName, String actionableItemStr, String assigneeStr, IArtifactType artifactType, IAtsTeamDefinition teamDef) throws OseeCoreException { + Assert.assertEquals(currentStateName, teamArt.getCurrentStateName()); + Assert.assertEquals(priority, teamArt.getSoleAttributeValue(AtsAttributeTypes.PriorityType, "")); + // want targeted version, not error/exception + String targetedVerStr = ""; + IAtsVersion version = AtsVersionService.get().getTargetedVersion(teamArt); + if (version != null) { + targetedVerStr = version.getName(); + } + Assert.assertEquals(versionName, targetedVerStr); + Assert.assertEquals(artifactType, teamArt.getArtifactType()); + Assert.assertEquals(teamDef, teamArt.getTeamDefinition()); + Assert.assertEquals(assigneeStr, teamArt.getStateMgr().getAssigneesStr()); + Assert.assertEquals(actionableItemStr, teamArt.getActionableItemsDam().getActionableItemsStr()); + } + + private void testTaskContents(TaskArtifact task, String currentStateName, String relatedToState) throws OseeCoreException { + Assert.assertEquals(currentStateName, task.getCurrentStateName()); + Assert.assertEquals(relatedToState, task.getSoleAttributeValue(AtsAttributeTypes.RelatedToState, "")); + } + + private void testSwDesign1PeerAnd1DecisionReview(TeamWorkFlowArtifact designTeam) throws OseeCoreException { + Assert.assertNotNull(designTeam); + PeerToPeerReviewArtifact peerArt = null; + DecisionReviewArtifact decArt = null; + for (AbstractReviewArtifact revArt1 : ReviewManager.getReviews(designTeam)) { + if (revArt1.getName().contains("PeerToPeer")) { + peerArt = (PeerToPeerReviewArtifact) revArt1; + } else { + decArt = (DecisionReviewArtifact) revArt1; + } + } + Assert.assertNotNull(peerArt); + Assert.assertNotNull(decArt); + testReviewContents( + peerArt, + "Auto-created Decision Review from ruleId atsAddPeerToPeerReview.test.addPeerToPeerReview.Authorize.None.TransitionTo", + PeerToPeerReviewState.Prepare.getName(), "UnAssigned"); + testReviewContents( + decArt, + "Auto-created Decision Review from ruleId: atsAddDecisionReview.test.addDecisionReview.Analyze.None.TransitionTo", + DecisionReviewState.Decision.getName(), "UnAssigned"); + + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/PopulateDemoDatabaseTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/PopulateDemoDatabaseTest.java new file mode 100644 index 00000000000..00cd11ff8e3 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/PopulateDemoDatabaseTest.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests; + +import static org.junit.Assert.assertTrue; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.demo.DemoUtil; +import org.eclipse.osee.ats.client.demo.PopulateDemoActions; +import org.eclipse.osee.framework.core.client.ClientSessionManager; +import org.eclipse.osee.framework.core.client.OseeClientSession; +import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.eclipse.osee.framework.jdk.core.util.Lib; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.ui.skynet.render.RenderingUtil; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * @author Donald G. Dunne + */ +public class PopulateDemoDatabaseTest { + + @BeforeClass + public static void setup() throws Exception { + if (!DemoUtil.isDbInitSuccessful()) { + throw new OseeStateException("DbInit must be successful to continue"); + } + OseeProperties.setIsInTest(true); + assertTrue("Demo Application Server must be running", + ClientSessionManager.getAuthenticationProtocols().contains("demo")); + RenderingUtil.setPopupsAllowed(false); + DemoUtil.setPopulateDbSuccessful(false); + } + + @org.junit.Test + public void testPopulateDemoDb() { + System.out.println("\nBegin Populate Demo DB..."); + try { + ClientSessionManager.releaseSession(); + // Re-authenticate so we can continue + OseeClientSession session = ClientSessionManager.getSession(); + UserManager.releaseUser(); + + Assert.assertEquals("Must run populate as Joe Smith", DemoUsers.Joe_Smith.getUserId(), session.getUserId()); + Assert.assertEquals("Must run populate as Joe Smith", DemoUsers.Joe_Smith.getUserId(), + UserManager.getUser().getUserId()); + + PopulateDemoActions populateDemoActions = new PopulateDemoActions(null); + populateDemoActions.run(false); + + DemoUtil.setPopulateDbSuccessful(true); + System.out.println("End Populate Demo DB...\n"); + } catch (Exception ex) { + Assert.fail(Lib.exceptionToString(ex)); + } + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/AtsTest_Ats_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/AtsTest_Ats_Suite.java new file mode 100644 index 00000000000..f69bde44f5e --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/AtsTest_Ats_Suite.java @@ -0,0 +1,63 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats; + +import org.eclipse.osee.ats.client.integration.tests.ats.access.AtsTest_Access_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.actions.AtsTest_Action_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.artifact.log.AtsTest_Log_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.column.AtsTest_Column_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.config.AtsTest_Config_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.editor.AtsTest_Editor_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.health.AtsTest_Health_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.navigate.AtsTest_Navigate_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.render.AtsTest_Renderer_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.review.AtsTest_Review_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.util.AtsTest_Util_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.workflow.AtsTest_Workflow_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.world.search.AtsTest_World_Search_Suite; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + AtsTest_Access_Suite.class, + AtsTest_Action_Suite.class, + AtsTest_Log_Suite.class, + AtsTest_Column_Suite.class, + AtsTest_Config_Suite.class, + AtsTest_Editor_Suite.class, + AtsTest_Health_Suite.class, + AtsTest_Navigate_Suite.class, + AtsTest_Renderer_Suite.class, + AtsTest_Review_Suite.class, + AtsTest_Util_Suite.class, + AtsTest_Workflow_Suite.class, + AtsTest_World_Search_Suite.class}) +public class AtsTest_Ats_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Ats_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Ats_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/access/AtsBranchAccessManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/access/AtsBranchAccessManagerTest.java new file mode 100644 index 00000000000..534b02c8595 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/access/AtsBranchAccessManagerTest.java @@ -0,0 +1,205 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.access; + +import static java.lang.Thread.sleep; +import java.util.Arrays; +import junit.framework.Assert; +import org.eclipse.osee.ats.access.AtsBranchAccessManager; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.client.demo.DemoActionableItems; +import org.eclipse.osee.ats.client.demo.DemoSawBuilds; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.core.client.branch.AtsBranchManagerCore; +import org.eclipse.osee.ats.core.client.config.store.ActionableItemArtifactStore; +import org.eclipse.osee.ats.core.client.config.store.TeamDefinitionArtifactStore; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.config.ActionableItems; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.data.IAccessContextId; +import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.model.Branch; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.event.OseeEventManager; +import org.eclipse.osee.framework.skynet.core.event.OseeEventService; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceReference; + +/** + * @author Donald G. Dunne + */ +public class AtsBranchAccessManagerTest { + + private static T getService(Class clazz) { + Bundle bundle = FrameworkUtil.getBundle(AtsBranchAccessManager.class); + Assert.assertNotNull(bundle); + BundleContext context = bundle.getBundleContext(); + Assert.assertNotNull(context); + ServiceReference reference = context.getServiceReference(clazz); + Assert.assertNotNull(reference); + T service = context.getService(reference); + Assert.assertNotNull(service); + return service; + } + + public static OseeEventService getEventService() { + return getService(OseeEventService.class); + } + + /** + * Test method for {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#AtsBranchAccessManager()}. + */ + @Test + public void testAtsBranchAccessManager() { + int numListeners = OseeEventManager.getNumberOfListeners(); + new AtsBranchAccessManager(getEventService()); + Assert.assertEquals(numListeners + 1, OseeEventManager.getNumberOfListeners()); + } + + /** + * Test method for {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#dispose()}. + */ + @Test + public void testDispose() { + AtsBranchAccessManager mgr = new AtsBranchAccessManager(getEventService()); + int numListeners = OseeEventManager.getNumberOfListeners(); + mgr.dispose(); + Assert.assertEquals(numListeners - 1, OseeEventManager.getNumberOfListeners()); + } + + /** + * Test method for + * {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#isApplicable(org.eclipse.osee.framework.core.model.Branch)} + * + * @throws OseeCoreException + */ + @Test + public void testIsApplicable() throws OseeCoreException { + AtsBranchAccessManager mgr = new AtsBranchAccessManager(getEventService()); + Assert.assertFalse(mgr.isApplicable(AtsUtil.getAtsBranch())); + Assert.assertFalse(mgr.isApplicable(DemoSawBuilds.SAW_Bld_1)); + + TeamWorkFlowArtifact teamArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertNotNull(teamArt); + + Branch branch = AtsBranchManagerCore.getWorkingBranch(teamArt); + Assert.assertNotNull(branch); + + Assert.assertTrue(mgr.isApplicable(branch)); + } + + @Before + @After + public void cleanup() throws OseeCoreException { + TeamWorkFlowArtifact teamArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "testGetContextIdArtifact cleanup"); + Artifact teamDefArt = new TeamDefinitionArtifactStore(teamArt.getTeamDefinition()).getArtifact(); + teamDefArt.deleteAttributes(CoreAttributeTypes.AccessContextId); + teamDefArt.persist(transaction); + for (Artifact art : teamDefArt.getRelatedArtifacts(AtsRelationTypes.TeamActionableItem_ActionableItem)) { + art.deleteAttributes(CoreAttributeTypes.AccessContextId); + art.persist(transaction); + } + teamArt.deleteAttributes(CoreAttributeTypes.AccessContextId); + teamArt.persist(transaction); + transaction.execute(); + } + + /** + * Test method for + * {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#getContextId(org.eclipse.osee.framework.skynet.core.artifact.Artifact)} + * {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#getEventFilters()}. + * {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#handleArtifactEvent(org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent, org.eclipse.osee.framework.skynet.core.event.model.Sender)} + * + * @throws OseeCoreException + * @throws InterruptedException + */ + @Test + public void testGetContextIdBranch() throws Exception { + AtsBranchAccessManager mgr = new AtsBranchAccessManager(getEventService()); + TeamWorkFlowArtifact teamArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + + // confirm that no context id returned + Assert.assertEquals(0, mgr.getContextId(teamArt.getWorkingBranch()).size()); + + String teamDefContextId1 = "teamDef.context.1"; + String teamDefContextId2 = "teamDef.context.2"; + Artifact teamDefArt = new TeamDefinitionArtifactStore(teamArt.getTeamDefinition()).getArtifact(); + teamDefArt.setAttributeValues(CoreAttributeTypes.AccessContextId, + Arrays.asList(teamDefContextId1, teamDefContextId2)); + teamDefArt.persist(getClass().getSimpleName()); + + sleep(1000); + + Assert.assertEquals(2, mgr.getContextId(teamArt.getWorkingBranch()).size()); + + String aiContextId = "ai.context.1"; + Artifact aiArt = + new ActionableItemArtifactStore(ActionableItems.getActionableItems( + Arrays.asList(DemoActionableItems.SAW_Requirements.getName())).iterator().next()).getArtifact(); + aiArt.setAttributeValues(CoreAttributeTypes.AccessContextId, Arrays.asList(aiContextId)); + aiArt.persist(getClass().getSimpleName()); + + sleep(1000); + + Assert.assertEquals(1, mgr.getContextId(teamArt.getWorkingBranch()).size()); + + String teamContextId1 = "team.context.1"; + String teamContextId2 = "team.context.2"; + String teamContextId3 = "team.context.3"; + teamArt.setAttributeValues(CoreAttributeTypes.AccessContextId, + Arrays.asList(teamContextId1, teamContextId2, teamContextId3)); + teamArt.persist(getClass().getSimpleName()); + + sleep(1000); + + Assert.assertEquals(3, mgr.getContextId(teamArt.getWorkingBranch()).size()); + + } + + /** + * Test method for {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#convertAccessAttributeToGuid + * + */ + @Test + public void testConvertAccessAttributeToGuid() throws Exception { + AtsBranchAccessManager mgr = new AtsBranchAccessManager(getEventService()); + TeamWorkFlowArtifact teamArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + + // confirm that no context id returned + Assert.assertEquals(0, mgr.getContextId(teamArt.getWorkingBranch()).size()); + + String teamDefContextId1 = "teamDef.context.1, this is the name"; + Artifact teamDefArt = new TeamDefinitionArtifactStore(teamArt.getTeamDefinition()).getArtifact(); + teamDefArt.setAttributeValues(CoreAttributeTypes.AccessContextId, Arrays.asList(teamDefContextId1)); + teamDefArt.persist(getClass().getSimpleName()); + + sleep(2000); + + Assert.assertEquals(1, mgr.getContextId(teamArt.getWorkingBranch()).size()); + IAccessContextId contextId = mgr.getContextId(teamArt.getWorkingBranch()).iterator().next(); + Assert.assertEquals("teamDef.context.1", contextId.getGuid()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/access/AtsTest_Access_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/access/AtsTest_Access_Suite.java new file mode 100644 index 00000000000..9cdef07b826 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/access/AtsTest_Access_Suite.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.access; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsBranchAccessManagerTest.class}) +/** + * @author Donald G. Dunne + */ +public class AtsTest_Access_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Access_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Access_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionPerspectiveTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionPerspectiveTest.java new file mode 100644 index 00000000000..e77cf794a0c --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionPerspectiveTest.java @@ -0,0 +1,29 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.eclipse.ui.IWorkbenchWindowActionDelegate; +import org.junit.Test; + +/** + * Abstract for the simplest test case where Action just needs run called + * + * @author Donald G. Dunne + */ +public abstract class AbstractAtsActionPerspectiveTest { + + @Test + public void test() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + IWorkbenchWindowActionDelegate action = getPerspectiveAction(); + action.run(null); + TestUtil.severeLoggingEnd(monitor); + } + + public abstract IWorkbenchWindowActionDelegate getPerspectiveAction(); +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionRunTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionRunTest.java new file mode 100644 index 00000000000..60dffa983c6 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionRunTest.java @@ -0,0 +1,36 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.osee.ats.actions.AbstractAtsAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * Abstract for the simplest test case where Action just needs run called + * + * @author Donald G. Dunne + */ +public abstract class AbstractAtsActionRunTest extends AbstractAtsActionTest { + + @Test + public void test() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + Action action = createAction(); + // want the exception to propagate to top if AbstractAtsAction + if (action instanceof AbstractAtsAction) { + ((AbstractAtsAction) action).runWithException(); + } else { + action.run(); + } + TestUtil.severeLoggingEnd(monitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionTest.java new file mode 100644 index 00000000000..e342f34064e --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AbstractAtsActionTest.java @@ -0,0 +1,38 @@ +/* + * Created on Oct 21, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import junit.framework.Assert; +import org.eclipse.jface.action.Action; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.editor.SMAEditor; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Abstract for Action tests that tests getImageDescriptor and calls cleanup before/after class + * + * @author Donald G. Dunne + */ +public abstract class AbstractAtsActionTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws Throwable { + AtsTestUtil.cleanup(); + SMAEditor.closeAll(); + } + + @Test + public void getImageDescriptor() throws Exception { + Action action = createAction(); + Assert.assertNotNull("Image should be specified", action.getImageDescriptor()); + } + + public abstract Action createAction() throws OseeCoreException; +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AccessControlActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AccessControlActionTest.java new file mode 100644 index 00000000000..9c173e165bd --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AccessControlActionTest.java @@ -0,0 +1,61 @@ +/* + * Created on Oct 21, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import java.util.logging.Level; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.jface.action.Action; +import org.eclipse.osee.ats.actions.AccessControlAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class AccessControlActionTest extends AbstractAtsActionTest { + + @Test + public void testRun() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + final AccessControlAction action = (AccessControlAction) createAction(); + Job job = new Job("Kill dialog") { + + @Override + protected IStatus run(IProgressMonitor monitor) { + try { + Thread.sleep(2000); + } catch (InterruptedException ex) { + OseeLog.log(AccessControlActionTest.class, Level.SEVERE, ex); + } + Displays.ensureInDisplayThread(new Runnable() { + + @Override + public void run() { + action.getDialog().getShell().close(); + } + }); + return Status.OK_STATUS; + } + }; + job.schedule(); + action.run(); + TestUtil.severeLoggingEnd(monitor); + } + + @Override + public Action createAction() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + return new AccessControlAction(AtsTestUtil.getTeamWf()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AddNoteActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AddNoteActionTest.java new file mode 100644 index 00000000000..f7052d7d108 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AddNoteActionTest.java @@ -0,0 +1,44 @@ +/* + * Created on Oct 21, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.osee.ats.actions.AddNoteAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.ui.swt.IDirtiableEditor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class AddNoteActionTest extends AbstractAtsActionTest { + + @Test + public void testRun() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + AddNoteAction action = (AddNoteAction) createAction(); + action.setEmulateUi(true); + action.runWithException(); + AtsTestUtil.getTeamWf().persist(getClass().getSimpleName()); + TestUtil.severeLoggingEnd(monitor); + } + + @Override + public Action createAction() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + return new AddNoteAction(AtsTestUtil.getTeamWf(), new IDirtiableEditor() { + + @Override + public void onDirtied() { + // do nothing + } + }); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AtsTest_Action_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AtsTest_Action_Suite.java new file mode 100644 index 00000000000..4d7ba2e95b2 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/AtsTest_Action_Suite.java @@ -0,0 +1,76 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + AccessControlActionTest.class, + AddNoteActionTest.class, + CopyActionDetailsActionTest.class, + DeletePurgeAtsArtifactsActionTest.class, + DirtyReportActionTest1.class, + DirtyReportActionTest2.class, + DuplicateWorkflowActionTest.class, + DuplicateWorkflowViaWorldEditorActionTest.class, + FavoriteActionTest.class, + ImportTasksViaSimpleListTest.class, + ImportTasksViaSpreadsheetTest.class, + MyFavoritesActionTest.class, + MyWorldActionTest.class, + NewGoalTest.class, + OpenAtsPerspectiveActionTest.class, + OpenChangeReportByIdActionTest.class, + OpenInArtifactEditorActionTest.class, + OpenInAtsWorkflowEditorActionTest.class, + OpenInAtsWorldActionTest1.class, + OpenInAtsWorldActionTest2.class, + OpenInAtsWorldActionTest3.class, + OpenInSkyWalkerActionTest.class, + OpenNewAtsTaskEditorActionTest.class, + OpenNewAtsTaskEditorSelectedTest.class, + OpenNewAtsWorldEditorActionTest.class, + OpenNewAtsWorldEditorSelectedActionTest.class, + OpenParentActionTest.class, + OpenReviewPerspectiveActionTest.class, + OpenWorkflowByIdActionTest.class, + OpenWorldByIdActionTest.class, + RefreshDirtyActionTest.class, + ReloadActionTest.class, + ResourceHistoryActionTest.class, + ShowBranchChangeDataActionTest.class, + ShowChangeReportActionTest.class, + ShowMergeManagerActionTest.class, + ShowWorkDefinitionActionTest.class, + SubscribedActionTest.class, + TaskAddActionTest.class,}) +/** + * @author Donald G. Dunne + */ +public class AtsTest_Action_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Action_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Action_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/CopyActionDetailsActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/CopyActionDetailsActionTest.java new file mode 100644 index 00000000000..9786ad07bf3 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/CopyActionDetailsActionTest.java @@ -0,0 +1,22 @@ +/* + * Created on Oct 21, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.CopyActionDetailsAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; + +/** + * @author Donald G. Dunne + */ +public class CopyActionDetailsActionTest extends AbstractAtsActionRunTest { + + @Override + public CopyActionDetailsAction createAction() throws OseeCoreException { + return new CopyActionDetailsAction(AtsTestUtil.getTeamWf()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DeletePurgeAtsArtifactsActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DeletePurgeAtsArtifactsActionTest.java new file mode 100644 index 00000000000..81d63e7daa0 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DeletePurgeAtsArtifactsActionTest.java @@ -0,0 +1,34 @@ +/* + * Created on Oct 21, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.DeletePurgeAtsArtifactsAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class DeletePurgeAtsArtifactsActionTest extends AbstractAtsActionTest { + + @Test + public void testRun() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + DeletePurgeAtsArtifactsAction action = createAction(); + action.setPrompt(false); + action.runWithException(); + TestUtil.severeLoggingEnd(monitor); + } + + @Override + public DeletePurgeAtsArtifactsAction createAction() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + return new DeletePurgeAtsArtifactsAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf(), true); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DirtyReportActionTest1.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DirtyReportActionTest1.java new file mode 100644 index 00000000000..f00427c6e57 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DirtyReportActionTest1.java @@ -0,0 +1,37 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.DirtyReportAction; +import org.eclipse.osee.ats.actions.IDirtyReportable; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.eclipse.osee.framework.core.util.Result; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class DirtyReportActionTest1 extends AbstractAtsActionTest { + + @Test(expected = OseeStateException.class) + public void test() throws Exception { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + DirtyReportAction action = createAction(); + action.runWithException(); + } + + @Override + public DirtyReportAction createAction() { + return new DirtyReportAction(new IDirtyReportable() { + @Override + public Result isDirtyResult() { + return new Result("Hello World"); + } + }); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DirtyReportActionTest2.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DirtyReportActionTest2.java new file mode 100644 index 00000000000..7d085dbd51f --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DirtyReportActionTest2.java @@ -0,0 +1,37 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.DirtyReportAction; +import org.eclipse.osee.ats.actions.IDirtyReportable; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.eclipse.osee.framework.core.util.Result; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class DirtyReportActionTest2 extends AbstractAtsActionTest { + + @Test(expected = OseeStateException.class) + public void test() throws Exception { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + DirtyReportAction action = createAction(); + action.runWithException(); + } + + @Override + public DirtyReportAction createAction() { + return new DirtyReportAction(new IDirtyReportable() { + @Override + public Result isDirtyResult() { + return Result.TrueResult; + } + }); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DuplicateWorkflowActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DuplicateWorkflowActionTest.java new file mode 100644 index 00000000000..9c236b9f232 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DuplicateWorkflowActionTest.java @@ -0,0 +1,23 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import java.util.Collections; +import org.eclipse.osee.ats.actions.DuplicateWorkflowAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; + +/** + * @author Donald G. Dunne + */ +public class DuplicateWorkflowActionTest extends AbstractAtsActionRunTest { + + @Override + public DuplicateWorkflowAction createAction() throws OseeCoreException { + return new DuplicateWorkflowAction(Collections.singleton(AtsTestUtil.getTeamWf())); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DuplicateWorkflowViaWorldEditorActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DuplicateWorkflowViaWorldEditorActionTest.java new file mode 100644 index 00000000000..decc55d7bd9 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/DuplicateWorkflowViaWorldEditorActionTest.java @@ -0,0 +1,32 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.osee.ats.actions.DuplicateWorkflowViaWorldEditorAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.actions.SelectedAtsArtifactsAdapter; +import org.eclipse.osee.framework.core.exception.OseeArgumentException; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class DuplicateWorkflowViaWorldEditorActionTest extends AbstractAtsActionRunTest { + + @Override + public Action createAction() { + return new DuplicateWorkflowViaWorldEditorAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf()); + } + + @Test(expected = OseeArgumentException.class) + public void testException() throws OseeCoreException { + DuplicateWorkflowViaWorldEditorAction action = + new DuplicateWorkflowViaWorldEditorAction(new SelectedAtsArtifactsAdapter()); + action.runWithException(); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/FavoriteActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/FavoriteActionTest.java new file mode 100644 index 00000000000..25a956023f0 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/FavoriteActionTest.java @@ -0,0 +1,42 @@ +/* + * Created on Oct 23, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import junit.framework.Assert; +import org.eclipse.osee.ats.actions.FavoriteAction; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class FavoriteActionTest extends AbstractAtsActionTest { + + @Test + public void test() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + Assert.assertFalse(AtsUsersClient.getOseeUser().getRelatedArtifacts(AtsRelationTypes.FavoriteUser_Artifact).contains( + AtsTestUtil.getTeamWf())); + FavoriteAction action = createAction(); + action.runWithException(); + Assert.assertTrue(AtsUsersClient.getOseeUser().getRelatedArtifacts(AtsRelationTypes.FavoriteUser_Artifact).contains( + AtsTestUtil.getTeamWf())); + TestUtil.severeLoggingEnd(monitor); + } + + @Override + public FavoriteAction createAction() { + FavoriteAction action = new FavoriteAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf()); + action.setPrompt(false); + return action; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ImportTasksViaSimpleListTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ImportTasksViaSimpleListTest.java new file mode 100644 index 00000000000..c50f1be9954 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ImportTasksViaSimpleListTest.java @@ -0,0 +1,37 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.ImportListener; +import org.eclipse.osee.ats.actions.ImportTasksViaSimpleList; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class ImportTasksViaSimpleListTest { + + @Test + public void test() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + ImportTasksViaSimpleList action = new ImportTasksViaSimpleList(AtsTestUtil.getTeamWf(), new ImportListener() { + + @Override + public void importCompleted() { + System.out.println(" "); + } + + }); + action.runWithException(); + AtsTestUtil.cleanup(); + TestUtil.severeLoggingEnd(monitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ImportTasksViaSpreadsheetTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ImportTasksViaSpreadsheetTest.java new file mode 100644 index 00000000000..6d56293fdf1 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ImportTasksViaSpreadsheetTest.java @@ -0,0 +1,36 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.ImportListener; +import org.eclipse.osee.ats.actions.ImportTasksViaSpreadsheet; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class ImportTasksViaSpreadsheetTest { + + @Test + public void test() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + ImportTasksViaSpreadsheet action = new ImportTasksViaSpreadsheet(AtsTestUtil.getTeamWf(), new ImportListener() { + + @Override + public void importCompleted() { + System.out.println(" "); + } + + }); + action.runWithException(); + AtsTestUtil.cleanup(); + TestUtil.severeLoggingEnd(monitor); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/MyFavoritesActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/MyFavoritesActionTest.java new file mode 100644 index 00000000000..ab0c1011071 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/MyFavoritesActionTest.java @@ -0,0 +1,31 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.MyFavoritesAction; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class MyFavoritesActionTest extends AbstractAtsActionTest { + + @Test + public void test() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + MyFavoritesAction action = new MyFavoritesAction(); + action.runWithException(); + TestUtil.severeLoggingEnd(monitor); + } + + @Override + public MyFavoritesAction createAction() { + return new MyFavoritesAction(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/MyWorldActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/MyWorldActionTest.java new file mode 100644 index 00000000000..92acbc16eb2 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/MyWorldActionTest.java @@ -0,0 +1,31 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.MyWorldAction; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class MyWorldActionTest extends AbstractAtsActionTest { + + @Test + public void test() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + MyWorldAction action = new MyWorldAction(); + action.runWithException(); + TestUtil.severeLoggingEnd(monitor); + } + + @Override + public MyWorldAction createAction() { + return new MyWorldAction(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/NewGoalTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/NewGoalTest.java new file mode 100644 index 00000000000..c6001ade970 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/NewGoalTest.java @@ -0,0 +1,43 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.NewGoal; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.enums.DeletionFlag; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * @author Donald G. Dunne + */ +public class NewGoalTest extends AbstractAtsActionRunTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws OseeCoreException { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), NewGoalTest.class.getSimpleName()); + for (Artifact art : ArtifactQuery.getArtifactListFromName(NewGoalTest.class.getSimpleName(), + AtsUtil.getAtsBranchToken(), DeletionFlag.EXCLUDE_DELETED)) { + art.deleteAndPersist(transaction); + } + transaction.execute(); + } + + @Override + public NewGoal createAction() { + NewGoal action = new NewGoal(); + action.setTitleOverride(getClass().getSimpleName()); + return action; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenAtsPerspectiveActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenAtsPerspectiveActionTest.java new file mode 100644 index 00000000000..89326265a5c --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenAtsPerspectiveActionTest.java @@ -0,0 +1,21 @@ +/* + * Created on Oct 23, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.OpenAtsPerspectiveAction; +import org.eclipse.ui.IWorkbenchWindowActionDelegate; + +/** + * @author Donald G. Dunne + */ +public class OpenAtsPerspectiveActionTest extends AbstractAtsActionPerspectiveTest { + + @Override + public IWorkbenchWindowActionDelegate getPerspectiveAction() { + return new OpenAtsPerspectiveAction(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenChangeReportByIdActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenChangeReportByIdActionTest.java new file mode 100644 index 00000000000..1f9ee72582c --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenChangeReportByIdActionTest.java @@ -0,0 +1,44 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import junit.framework.Assert; +import org.eclipse.osee.ats.actions.OpenChangeReportByIdAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class OpenChangeReportByIdActionTest extends AbstractAtsActionRunTest { + + @Override + public OpenChangeReportByIdAction createAction() throws OseeCoreException { + + Result result = AtsTestUtil.createWorkingBranchFromTeamWf(); + Assert.assertTrue(result.getText(), result.isTrue()); + + OpenChangeReportByIdAction action = new OpenChangeReportByIdAction(); + action.setOverrideId(AtsTestUtil.getTeamWf().getHumanReadableId()); + action.setPend(true); + return action; + } + + @Override + @Test + public void getImageDescriptor() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + OpenChangeReportByIdAction action = new OpenChangeReportByIdAction(); + Assert.assertNotNull("Image should be specified", action.getImageDescriptor()); + TestUtil.severeLoggingEnd(monitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInArtifactEditorActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInArtifactEditorActionTest.java new file mode 100644 index 00000000000..a4c3d0dba59 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInArtifactEditorActionTest.java @@ -0,0 +1,21 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.OpenInArtifactEditorAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; + +/** + * @author Donald G. Dunne + */ +public class OpenInArtifactEditorActionTest extends AbstractAtsActionRunTest { + + @Override + public OpenInArtifactEditorAction createAction() { + return new OpenInArtifactEditorAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorkflowEditorActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorkflowEditorActionTest.java new file mode 100644 index 00000000000..f748475ce64 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorkflowEditorActionTest.java @@ -0,0 +1,27 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.OpenInAtsWorkflowEditorAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.editor.SMAEditor; +import org.junit.After; + +/** + * @author Donald G. Dunne + */ +public class OpenInAtsWorkflowEditorActionTest extends AbstractAtsActionRunTest { + + @Override + public OpenInAtsWorkflowEditorAction createAction() { + return new OpenInAtsWorkflowEditorAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf()); + } + + @After + public void closeEditors() { + SMAEditor.closeAll(); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest1.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest1.java new file mode 100644 index 00000000000..6d53ebdb943 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest1.java @@ -0,0 +1,34 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.OpenInAtsWorldAction; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class OpenInAtsWorldActionTest1 extends AbstractAtsActionRunTest { + + @Override + public OpenInAtsWorldAction createAction() throws OseeCoreException { + return new OpenInAtsWorldAction(AtsTestUtil.getTeamWf()); + } + + @Test(expected = OseeStateException.class) + public void testNoParentAction() throws OseeCoreException { + AtsTestUtil.getTeamWf().deleteRelations(AtsRelationTypes.ActionToWorkflow_Action); + AtsTestUtil.getTeamWf().persist(getClass().getSimpleName()); + + OpenInAtsWorldAction action = createAction(); + action.runWithException(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest2.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest2.java new file mode 100644 index 00000000000..aefc01d9c8a --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest2.java @@ -0,0 +1,22 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.OpenInAtsWorldAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; + +/** + * @author Donald G. Dunne + */ +public class OpenInAtsWorldActionTest2 extends AbstractAtsActionRunTest { + + @Override + public OpenInAtsWorldAction createAction() throws OseeCoreException { + return new OpenInAtsWorldAction(AtsTestUtil.getOrCreateTaskOffTeamWf1()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest3.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest3.java new file mode 100644 index 00000000000..eaec96ff952 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInAtsWorldActionTest3.java @@ -0,0 +1,37 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.OpenInAtsWorldAction; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.junit.Test; + +/** + * Test case where no parent action + * + * @author Donald G. Dunne + */ +public class OpenInAtsWorldActionTest3 extends AbstractAtsActionRunTest { + + @Override + @Test(expected = OseeStateException.class) + public void test() throws Exception { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + OpenInAtsWorldAction action = createAction(); + action.runWithException(); + } + + @Override + public OpenInAtsWorldAction createAction() throws OseeCoreException { + AtsTestUtil.getTeamWf().deleteRelations(AtsRelationTypes.ActionToWorkflow_Action); + AtsTestUtil.getTeamWf().persist(getClass().getSimpleName()); + return new OpenInAtsWorldAction(AtsTestUtil.getTeamWf()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInSkyWalkerActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInSkyWalkerActionTest.java new file mode 100644 index 00000000000..f3d18deec60 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenInSkyWalkerActionTest.java @@ -0,0 +1,22 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.OpenInSkyWalkerAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; + +/** + * @author Donald G. Dunne + */ +public class OpenInSkyWalkerActionTest extends AbstractAtsActionRunTest { + + @Override + public OpenInSkyWalkerAction createAction() throws OseeCoreException { + return new OpenInSkyWalkerAction(AtsTestUtil.getTeamWf()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsTaskEditorActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsTaskEditorActionTest.java new file mode 100644 index 00000000000..ad2296dc0b1 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsTaskEditorActionTest.java @@ -0,0 +1,78 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import java.util.Collection; +import java.util.Collections; +import org.eclipse.jface.action.Action; +import org.eclipse.nebula.widgets.xviewer.customize.CustomizeData; +import org.eclipse.osee.ats.actions.OpenNewAtsTaskEditorAction; +import org.eclipse.osee.ats.actions.OpenNewAtsTaskEditorAction.IOpenNewAtsTaskEditorHandler; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.task.ITaskEditorProvider; +import org.eclipse.osee.ats.world.search.WorldSearchItem.SearchType; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; + +/** + * @author Donald G. Dunne + */ +public class OpenNewAtsTaskEditorActionTest extends AbstractAtsActionRunTest { + + @Override + public Action createAction() { + return new OpenNewAtsTaskEditorAction(new IOpenNewAtsTaskEditorHandler() { + + @Override + public ITaskEditorProvider getTaskEditorProviderCopy() { + return new ITaskEditorProvider() { + + @Override + public void setTableLoadOptions(TableLoadOption... tableLoadOptions) { + // do nothing + } + + @Override + public void setCustomizeData(CustomizeData customizeData) { + // do nothing + } + + @Override + public Collection getTaskEditorTaskArtifacts() throws OseeCoreException { + return Collections.singleton(AtsTestUtil.getOrCreateTaskOffTeamWf1()); + } + + @Override + public String getTaskEditorLabel(SearchType searchType) { + return "Tasks"; + } + + @Override + public Collection getTableLoadOptions() { + return Collections.singleton(TableLoadOption.NoUI); + } + + @Override + public String getName() { + return "Tasks"; + } + + @Override + public ITaskEditorProvider copyProvider() { + return null; + } + }; + } + + @Override + public CustomizeData getCustomizeDataCopy() { + return null; + } + }); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsTaskEditorSelectedTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsTaskEditorSelectedTest.java new file mode 100644 index 00000000000..60dfac7c1b5 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsTaskEditorSelectedTest.java @@ -0,0 +1,37 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import java.util.Arrays; +import java.util.List; +import org.eclipse.nebula.widgets.xviewer.customize.CustomizeData; +import org.eclipse.osee.ats.actions.OpenNewAtsTaskEditorSelected; +import org.eclipse.osee.ats.actions.OpenNewAtsTaskEditorSelected.IOpenNewAtsTaskEditorSelectedHandler; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; + +/** + * @author Donald G. Dunne + */ +public class OpenNewAtsTaskEditorSelectedTest extends AbstractAtsActionRunTest { + + @Override + public OpenNewAtsTaskEditorSelected createAction() { + return new OpenNewAtsTaskEditorSelected(new IOpenNewAtsTaskEditorSelectedHandler() { + + @Override + public List getSelectedArtifacts() throws OseeCoreException { + return Arrays.asList(AtsTestUtil.getTeamWf()); + } + + @Override + public CustomizeData getCustomizeDataCopy() { + return null; + } + }); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsWorldEditorActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsWorldEditorActionTest.java new file mode 100644 index 00000000000..926acc3066a --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsWorldEditorActionTest.java @@ -0,0 +1,74 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.nebula.widgets.xviewer.customize.CustomizeData; +import org.eclipse.osee.ats.actions.OpenNewAtsWorldEditorAction; +import org.eclipse.osee.ats.actions.OpenNewAtsWorldEditorAction.IOpenNewAtsWorldEditorHandler; +import org.eclipse.osee.ats.api.version.IAtsVersion; +import org.eclipse.osee.ats.world.IWorldEditorProvider; +import org.eclipse.osee.ats.world.WorldEditor; +import org.eclipse.osee.ats.world.search.WorldSearchItem.SearchType; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; + +/** + * @author Donald G. Dunne + */ +public class OpenNewAtsWorldEditorActionTest extends AbstractAtsActionRunTest { + + @Override + public OpenNewAtsWorldEditorAction createAction() { + return new OpenNewAtsWorldEditorAction(new IOpenNewAtsWorldEditorHandler() { + + @Override + public IWorldEditorProvider getWorldEditorProviderCopy() { + return new IWorldEditorProvider() { + + @Override + public void setTableLoadOptions(TableLoadOption... tableLoadOptions) { + // do nothing + } + + @Override + public void setCustomizeData(CustomizeData customizeData) { + // do nothing + } + + @Override + public void run(WorldEditor worldEditor, SearchType searchType, boolean forcePend) { + // do nothing + } + + @Override + public IAtsVersion getTargetedVersionArtifact() { + return null; + } + + @Override + public String getSelectedName(SearchType searchType) { + return "Open"; + } + + @Override + public String getName() { + return "Open"; + } + + @Override + public IWorldEditorProvider copyProvider() { + return null; + } + }; + } + + @Override + public CustomizeData getCustomizeDataCopy() { + return null; + } + }); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsWorldEditorSelectedActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsWorldEditorSelectedActionTest.java new file mode 100644 index 00000000000..444f1166557 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenNewAtsWorldEditorSelectedActionTest.java @@ -0,0 +1,37 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import java.util.Arrays; +import java.util.List; +import org.eclipse.nebula.widgets.xviewer.customize.CustomizeData; +import org.eclipse.osee.ats.actions.OpenNewAtsWorldEditorSelectedAction; +import org.eclipse.osee.ats.actions.OpenNewAtsWorldEditorSelectedAction.IOpenNewAtsWorldEditorSelectedHandler; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; + +/** + * @author Donald G. Dunne + */ +public class OpenNewAtsWorldEditorSelectedActionTest extends AbstractAtsActionRunTest { + + @Override + public OpenNewAtsWorldEditorSelectedAction createAction() { + return new OpenNewAtsWorldEditorSelectedAction(new IOpenNewAtsWorldEditorSelectedHandler() { + + @Override + public List getSelectedArtifacts() throws OseeCoreException { + return Arrays.asList((Artifact) AtsTestUtil.getTeamWf()); + } + + @Override + public CustomizeData getCustomizeDataCopy() { + return null; + } + }); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenParentActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenParentActionTest.java new file mode 100644 index 00000000000..79fcf7aab8f --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenParentActionTest.java @@ -0,0 +1,22 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.OpenParentAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; + +/** + * @author Donald G. Dunne + */ +public class OpenParentActionTest extends AbstractAtsActionRunTest { + + @Override + public OpenParentAction createAction() throws OseeCoreException { + return new OpenParentAction(AtsTestUtil.getOrCreateTaskOffTeamWf1()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenReviewPerspectiveActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenReviewPerspectiveActionTest.java new file mode 100644 index 00000000000..c3792fbbc01 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenReviewPerspectiveActionTest.java @@ -0,0 +1,21 @@ +/* + * Created on Oct 23, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.OpenReviewPerspectiveAction; +import org.eclipse.ui.IWorkbenchWindowActionDelegate; + +/** + * @author Donald G. Dunne + */ +public class OpenReviewPerspectiveActionTest extends AbstractAtsActionPerspectiveTest { + + @Override + public IWorkbenchWindowActionDelegate getPerspectiveAction() { + return new OpenReviewPerspectiveAction(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenWorkflowByIdActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenWorkflowByIdActionTest.java new file mode 100644 index 00000000000..4edb073f7e7 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenWorkflowByIdActionTest.java @@ -0,0 +1,26 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.osee.ats.actions.OpenWorkflowByIdAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; + +/** + * @author Donald G. Dunne + */ +public class OpenWorkflowByIdActionTest extends AbstractAtsActionRunTest { + + @Override + public Action createAction() throws OseeCoreException { + OpenWorkflowByIdAction action = new OpenWorkflowByIdAction(); + action.setPend(true); + action.setOverrideId(AtsTestUtil.getTeamWf().getHumanReadableId()); + return action; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenWorldByIdActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenWorldByIdActionTest.java new file mode 100644 index 00000000000..df1b18f1ec6 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/OpenWorldByIdActionTest.java @@ -0,0 +1,25 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.OpenWorldByIdAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; + +/** + * @author Donald G. Dunne + */ +public class OpenWorldByIdActionTest extends AbstractAtsActionRunTest { + + @Override + public OpenWorldByIdAction createAction() throws OseeCoreException { + OpenWorldByIdAction action = new OpenWorldByIdAction(); + action.setOverrideIdString(AtsTestUtil.getTeamWf().getHumanReadableId()); + action.setPend(true); + return action; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/RefreshDirtyActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/RefreshDirtyActionTest.java new file mode 100644 index 00000000000..4e7df831fc1 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/RefreshDirtyActionTest.java @@ -0,0 +1,27 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.RefreshDirtyAction; +import org.eclipse.osee.framework.ui.swt.IDirtiableEditor; + +/** + * @author Donald G. Dunne + */ +public class RefreshDirtyActionTest extends AbstractAtsActionRunTest { + + @Override + public RefreshDirtyAction createAction() { + return new RefreshDirtyAction(new IDirtiableEditor() { + + @Override + public void onDirtied() { + System.out.println(" "); + } + }); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ReloadActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ReloadActionTest.java new file mode 100644 index 00000000000..13b0facb26d --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ReloadActionTest.java @@ -0,0 +1,22 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.ReloadAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; + +/** + * @author Donald G. Dunne + */ +public class ReloadActionTest extends AbstractAtsActionRunTest { + + @Override + public ReloadAction createAction() throws OseeCoreException { + return new ReloadAction(AtsTestUtil.getTeamWf()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ResourceHistoryActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ResourceHistoryActionTest.java new file mode 100644 index 00000000000..57fb1d8a306 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ResourceHistoryActionTest.java @@ -0,0 +1,39 @@ +/* + * Created on Oct 23, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import junit.framework.Assert; +import org.eclipse.osee.ats.actions.ResourceHistoryAction; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class ResourceHistoryActionTest extends AbstractAtsActionTest { + + @Test + public void test() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + Assert.assertFalse(AtsUsersClient.getOseeUser().getRelatedArtifacts(AtsRelationTypes.FavoriteUser_Artifact).contains( + AtsTestUtil.getTeamWf())); + ResourceHistoryAction action = createAction(); + action.runWithException(); + TestUtil.severeLoggingEnd(monitor); + } + + @Override + public ResourceHistoryAction createAction() throws OseeCoreException { + return new ResourceHistoryAction(AtsTestUtil.getTeamWf()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowBranchChangeDataActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowBranchChangeDataActionTest.java new file mode 100644 index 00000000000..3c47f34d7b1 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowBranchChangeDataActionTest.java @@ -0,0 +1,39 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import junit.framework.Assert; +import org.eclipse.osee.ats.actions.ShowBranchChangeDataAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class ShowBranchChangeDataActionTest extends AbstractAtsActionRunTest { + + @Override + public ShowBranchChangeDataAction createAction() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + Result result = AtsTestUtil.createWorkingBranchFromTeamWf(); + Assert.assertTrue(result.getText(), result.isTrue()); + TestUtil.sleep(2000); + Assert.assertNotNull(AtsTestUtil.getTeamWf().getWorkingBranch()); + + return new ShowBranchChangeDataAction(AtsTestUtil.getTeamWf()); + } + + @Override + @Test + public void getImageDescriptor() { + ShowBranchChangeDataAction action = new ShowBranchChangeDataAction(null); + Assert.assertNotNull("Image should be specified", action.getImageDescriptor()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowChangeReportActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowChangeReportActionTest.java new file mode 100644 index 00000000000..5a277df1b27 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowChangeReportActionTest.java @@ -0,0 +1,41 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import junit.framework.Assert; +import org.eclipse.osee.ats.actions.ShowChangeReportAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class ShowChangeReportActionTest extends AbstractAtsActionRunTest { + + @Override + public ShowChangeReportAction createAction() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + Result result = AtsTestUtil.createWorkingBranchFromTeamWf(); + Assert.assertTrue(result.getText(), result.isTrue()); + ShowChangeReportAction action = new ShowChangeReportAction(AtsTestUtil.getTeamWf()); + return action; + } + + @Override + @Test + public void getImageDescriptor() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + ShowChangeReportAction action = new ShowChangeReportAction(AtsTestUtil.getTeamWf()); + Assert.assertNotNull("Image should be specified", action.getImageDescriptor()); + TestUtil.severeLoggingEnd(monitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowMergeManagerActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowMergeManagerActionTest.java new file mode 100644 index 00000000000..d2433e77231 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowMergeManagerActionTest.java @@ -0,0 +1,42 @@ +/* + * Created on Oct 26, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import junit.framework.Assert; +import org.eclipse.osee.ats.actions.ShowMergeManagerAction; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class ShowMergeManagerActionTest extends AbstractAtsActionRunTest { + + @Override + public ShowMergeManagerAction createAction() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + Result result = AtsTestUtil.createWorkingBranchFromTeamWf(); + Assert.assertTrue(result.getText(), result.isTrue()); + + ShowMergeManagerAction action = new ShowMergeManagerAction(AtsTestUtil.getTeamWf()); + return action; + } + + @Override + @Test + public void getImageDescriptor() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + ShowMergeManagerAction action = new ShowMergeManagerAction(AtsTestUtil.getTeamWf()); + Assert.assertNotNull("Image should be specified", action.getImageDescriptor()); + TestUtil.severeLoggingEnd(monitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowWorkDefinitionActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowWorkDefinitionActionTest.java new file mode 100644 index 00000000000..e3806d9af47 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/ShowWorkDefinitionActionTest.java @@ -0,0 +1,20 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.ShowWorkDefinitionAction; + +/** + * @author Donald G. Dunne + */ +public class ShowWorkDefinitionActionTest extends AbstractAtsActionRunTest { + + @Override + public ShowWorkDefinitionAction createAction() { + return new ShowWorkDefinitionAction(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/SubscribedActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/SubscribedActionTest.java new file mode 100644 index 00000000000..aae1d8e921f --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/SubscribedActionTest.java @@ -0,0 +1,42 @@ +/* + * Created on Oct 23, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import junit.framework.Assert; +import org.eclipse.osee.ats.actions.SubscribedAction; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class SubscribedActionTest extends AbstractAtsActionTest { + + @Test + public void test() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + Assert.assertFalse(AtsUsersClient.getOseeUser().getRelatedArtifacts(AtsRelationTypes.SubscribedUser_Artifact).contains( + AtsTestUtil.getTeamWf())); + SubscribedAction action = createAction(); + action.runWithException(); + Assert.assertTrue(AtsUsersClient.getOseeUser().getRelatedArtifacts(AtsRelationTypes.SubscribedUser_Artifact).contains( + AtsTestUtil.getTeamWf())); + TestUtil.severeLoggingEnd(monitor); + } + + @Override + public SubscribedAction createAction() { + SubscribedAction action = new SubscribedAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf()); + action.setPrompt(false); + return action; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/TaskAddActionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/TaskAddActionTest.java new file mode 100644 index 00000000000..171159eb55e --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/actions/TaskAddActionTest.java @@ -0,0 +1,27 @@ +/* + * Created on Oct 24, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.actions; + +import org.eclipse.osee.ats.actions.TaskAddAction; +import org.eclipse.osee.ats.actions.TaskAddAction.ITaskAddActionHandler; + +/** + * @author Donald G. Dunne + */ +public class TaskAddActionTest extends AbstractAtsActionRunTest { + + @Override + public TaskAddAction createAction() { + return new TaskAddAction(new ITaskAddActionHandler() { + + @Override + public void taskAddActionHandler() { + System.out.println(" "); + } + }); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/AtsLogTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/AtsLogTest.java new file mode 100644 index 00000000000..0ff02fe4dc2 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/AtsLogTest.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.artifact.log; + +import java.util.Date; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.osee.ats.core.client.workflow.log.AtsLog; +import org.eclipse.osee.ats.core.client.workflow.log.ILogStorageProvider; +import org.eclipse.osee.ats.core.client.workflow.log.LogItem; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class AtsLogTest { + + @Test + public void testToAndFromStore() throws OseeCoreException { + Date date = new Date(); + SimpleLogStore store = new SimpleLogStore(); + AtsLog log = new AtsLog(store); + LogItem item = LogItemTest.getTestLogItem(date); + log.addLogItem(item); + + AtsLog log2 = new AtsLog(store); + Assert.assertEquals(1, log2.getLogItems().size()); + LogItem loadItem = log2.getLogItems().iterator().next(); + LogItemTest.validateItem(loadItem, date); + } + + public class SimpleLogStore implements ILogStorageProvider { + + String store = ""; + + @Override + public String getLogXml() { + return store; + } + + @Override + public IStatus saveLogXml(String xml) { + store = xml; + return Status.OK_STATUS; + } + + @Override + public String getLogTitle() { + return "This is the title"; + } + + @Override + public String getLogId() { + return GUID.create(); + } + + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/AtsTest_Log_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/AtsTest_Log_Suite.java new file mode 100644 index 00000000000..62bcb154110 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/AtsTest_Log_Suite.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.artifact.log; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsLogTest.class, LogItemTest.class}) +public class AtsTest_Log_Suite { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Log_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Log_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/LogItemTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/LogItemTest.java new file mode 100644 index 00000000000..f4ab0799ace --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/artifact/log/LogItemTest.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.artifact.log; + +import java.util.Date; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.workflow.log.LogItem; +import org.eclipse.osee.ats.core.client.workflow.log.LogType; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.jdk.core.util.AHTML; +import org.eclipse.osee.framework.jdk.core.util.DateUtil; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class LogItemTest { + + @Test + public void testLogItemLogTypeDateUserStringStringString() throws OseeCoreException { + Date date = new Date(); + LogItem item = getTestLogItem(date); + + validateItem(item, date); + } + + public static void validateItem(LogItem item, Date date) throws OseeCoreException { + Assert.assertEquals(LogType.Error, item.getType()); + Assert.assertEquals(date, item.getDate()); + Assert.assertEquals(AtsUsersClient.getUser(), item.getUser()); + Assert.assertEquals(AtsUsersClient.getUser().getUserId(), item.getUserId()); + Assert.assertEquals("Analyze", item.getState()); + Assert.assertEquals("my msg", item.getMsg()); + } + + @Test + public void testLogItemLogTypeStringStringStringStringString() throws OseeCoreException { + Date date = new Date(); + LogItem item = + new LogItem(LogType.Error, String.valueOf(date.getTime()), AtsUsersClient.getUser().getUserId(), "Analyze", + "my msg", "ASDF4"); + + validateItem(item, date); + } + + @Test + public void testLogItemStringStringStringStringStringString() throws OseeCoreException { + Date date = new Date(); + LogItem item = + new LogItem(LogType.Error.name(), String.valueOf(date.getTime()), AtsUsersClient.getUser().getUserId(), + "Analyze", "my msg", "ASDF4"); + + validateItem(item, date); + } + + public static LogItem getTestLogItem(Date date) throws OseeCoreException { + return new LogItem(LogType.Error, date, AtsUsersClient.getUser(), "Analyze", "my msg", "ASDF4"); + } + + @Test + public void testToString() throws OseeCoreException { + Date date = new Date(); + LogItem item = getTestLogItem(date); + + Assert.assertEquals( + "my msg (Error)from Analyze by " + AtsUsersClient.getUser().getName() + " on " + DateUtil.getMMDDYYHHMM(date), + item.toString()); + } + + @Test + public void testToHTML() throws OseeCoreException { + Date date = new Date(); + LogItem item = getTestLogItem(date); + + Assert.assertEquals("NOTE (Error): my msg (" + AtsUsersClient.getUser().getName() + ")", + item.toHTML(AHTML.LABEL_FONT)); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ActionableItemsColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ActionableItemsColumnTest.java new file mode 100644 index 00000000000..39b7c287985 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ActionableItemsColumnTest.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import java.util.Collection; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.ActionableItemsColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests ActionableItemsColumn + * @author Donald G. Dunne + */ +public class ActionableItemsColumnTest { + + @org.junit.Test + public void testGetActionableItems() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Collection aias = ActionableItemsColumn.getActionableItems(codeArt); + Assert.assertEquals(1, aias.size()); + Assert.assertEquals("SAW Code", aias.iterator().next().getName()); + + Artifact actionArt = codeArt.getParentActionArtifact(); + aias = ActionableItemsColumn.getActionableItems(actionArt); + Assert.assertEquals(4, aias.size()); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + + @org.junit.Test + public void testGetActionableItemsStr() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertEquals("SAW Code", ActionableItemsColumn.getActionableItemsStr(codeArt)); + + Artifact actionArt = codeArt.getParentActionArtifact(); + + String results = ActionableItemsColumn.getActionableItemsStr(actionArt); + Assert.assertTrue(results.contains("SAW Code")); + Assert.assertTrue(results.contains("SAW SW Design")); + Assert.assertTrue(results.contains("SAW Test")); + Assert.assertTrue(results.contains("SAW Requirements")); + Assert.assertEquals(4, results.split(", ").length); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/AssigneeColumnUITest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/AssigneeColumnUITest.java new file mode 100644 index 00000000000..fa33245e699 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/AssigneeColumnUITest.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import java.util.Arrays; +import java.util.List; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.ActionableItemsColumn; +import org.eclipse.osee.ats.column.AssigneeColumnUI; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests AssigneeColumnUI + * @author Donald G. Dunne + */ +public class AssigneeColumnUITest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertEquals("Joe Smith", + AssigneeColumnUI.getInstance().getColumnText(codeArt, AssigneeColumnUI.getInstance(), 0)); + + Artifact actionArt = codeArt.getParentActionArtifact(); + List results = Arrays.asList("Kay Jones; Joe Smith", "Joe Smith; Kay Jones"); + Assert.assertTrue(results.contains(AssigneeColumnUI.getInstance().getColumnText(actionArt, + AssigneeColumnUI.getInstance(), 0))); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + + public void testGetColumnImage() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertNotNull(ActionableItemsColumn.getInstance().getColumnImage(codeArt, AssigneeColumnUI.getInstance(), + 0)); + + Artifact actionArt = codeArt.getParentActionArtifact(); + Assert.assertNotNull(ActionableItemsColumn.getInstance().getColumnImage(actionArt, + AssigneeColumnUI.getInstance(), 0)); + + Assert.assertNull(ActionableItemsColumn.getInstance().getColumnImage("String", AssigneeColumnUI.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/AtsTest_Column_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/AtsTest_Column_Suite.java new file mode 100644 index 00000000000..b52568cc28f --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/AtsTest_Column_Suite.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import static org.junit.Assert.assertTrue; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.core.client.ClientSessionManager; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + RelatedToStateColumnTest.class, + NumberOfTasksAndInWorkTasksColumnsTest.class, + EstimatedHoursColumnTest.class, + PriorityColumnTest.class, + TargetedVersionColumnTest.class, + TypeColumnTest.class, + TeamColumnTest.class, + ParentStateAndIdColumnTest.class, + StateColumnTest.class, + OriginatorColumnTest.class, + GroupsColumnTest.class, + DescriptionColumnTest.class, + PeerToPeerReviewColumnsTest.class, + ChangeTypeColumnTest.class, + DeadlineColumnTest.class, + CreatedDateColumnTest.class, + ActionableItemsColumnTest.class, + BranchStatusColumnTest.class, + CancelledDateColumnTest.class, + CompletedDateColumnTest.class, + CategoryColumnTest.class,}) +/** + * @author Donald G. Dunne + */ +public class AtsTest_Column_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + assertTrue("Demo Application Server must be running.", + ClientSessionManager.getAuthenticationProtocols().contains("demo")); + assertTrue("Client must authenticate using demo protocol", + ClientSessionManager.getSession().getAuthenticationProtocol().equals("demo")); + System.out.println("\n\nBegin " + AtsTest_Column_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Column_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/BranchStatusColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/BranchStatusColumnTest.java new file mode 100644 index 00000000000..98562fda044 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/BranchStatusColumnTest.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.BranchStatusColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests BranchStatusColumn + * @author Donald G. Dunne + */ +public class BranchStatusColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertEquals("Working", + BranchStatusColumn.getInstance().getColumnText(reqArt, BranchStatusColumn.getInstance(), 0)); + + TeamWorkFlowArtifact testArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Test); + Assert.assertEquals("", + BranchStatusColumn.getInstance().getColumnText(testArt, BranchStatusColumn.getInstance(), 0)); + + Artifact actionArt = reqArt.getParentActionArtifact(); + Assert.assertEquals("Working", + BranchStatusColumn.getInstance().getColumnText(actionArt, BranchStatusColumn.getInstance(), 0)); + + TeamWorkFlowArtifact reqArt2 = + (TeamWorkFlowArtifact) DemoTestUtil.getCommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertEquals("Committed", + BranchStatusColumn.getInstance().getColumnText(reqArt2, BranchStatusColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CancelledDateColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CancelledDateColumnTest.java new file mode 100644 index 00000000000..adfb3eec389 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CancelledDateColumnTest.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Date; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.CancelledDateColumn; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.jdk.core.util.DateUtil; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * @tests CancelledDateColumn + * @author Donald G. Dunne + */ +public class CancelledDateColumnTest { + + @AfterClass + @BeforeClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanupSimpleTest(CancelledDateColumnTest.class.getSimpleName()); + } + + @org.junit.Test + public void testGetDateAndStrAndColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CancelledDateColumnTest.class.getSimpleName()); + TeamWorkFlowArtifact teamArt = + DemoTestUtil.createSimpleAction(CancelledDateColumnTest.class.getSimpleName(), transaction); + transaction.execute(); + + Assert.assertEquals("", + CancelledDateColumn.getInstance().getColumnText(teamArt, CancelledDateColumn.getInstance(), 0)); + Date date = CancelledDateColumn.getDate(teamArt); + Assert.assertNull(date); + Assert.assertEquals("", CancelledDateColumn.getDateStr(teamArt)); + + TransitionHelper helper = + new TransitionHelper("Transition to Cancelled", Arrays.asList(teamArt), TeamState.Cancelled.getName(), null, + "reason", TransitionOption.OverrideTransitionValidityCheck, TransitionOption.OverrideAssigneeCheck); + TransitionManager transitionMgr = new TransitionManager(helper); + TransitionResults results = transitionMgr.handleAll(); + Assert.assertTrue(results.toString(), results.isEmpty()); + transitionMgr.getTransaction().execute(); + + date = CancelledDateColumn.getDate(teamArt); + Assert.assertNotNull(date); + Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), CancelledDateColumn.getDateStr(teamArt)); + Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), + CancelledDateColumn.getInstance().getColumnText(teamArt, CancelledDateColumn.getInstance(), 0)); + + helper = + new TransitionHelper("Transition to Endorse", Arrays.asList(teamArt), TeamState.Endorse.getName(), + Collections.singleton(AtsUsersClient.getUser()), null, TransitionOption.OverrideTransitionValidityCheck, + TransitionOption.OverrideAssigneeCheck); + transitionMgr = new TransitionManager(helper); + results = transitionMgr.handleAll(); + Assert.assertTrue(results.toString(), results.isEmpty()); + transitionMgr.getTransaction().execute(); + + Assert.assertEquals("Cancelled date should be blank again", "", + CancelledDateColumn.getInstance().getColumnText(teamArt, CancelledDateColumn.getInstance(), 0)); + date = CancelledDateColumn.getDate(teamArt); + Assert.assertNull(date); + + TestUtil.severeLoggingEnd(loggingMonitor); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CategoryColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CategoryColumnTest.java new file mode 100644 index 00000000000..52b2d3c6dc6 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CategoryColumnTest.java @@ -0,0 +1,121 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.CategoryColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * @tests CategoryColumn + * @author Donald G. Dunne + */ +public class CategoryColumnTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws OseeCoreException { + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + TeamWorkFlowArtifact testArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Test); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CategoryColumnTest.class.getSimpleName()); + codeArt.deleteAttributes(AtsAttributeTypes.Category1); + codeArt.persist(transaction); + reqArt.deleteAttributes(AtsAttributeTypes.Category1); + reqArt.persist(transaction); + testArt.deleteAttributes(AtsAttributeTypes.Category1); + testArt.persist(transaction); + transaction.execute(); + } + + @org.junit.Test + public void testGetDateAndStrAndColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + TeamWorkFlowArtifact testArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Test); + Artifact actionArt = codeArt.getParentActionArtifact(); + + Assert.assertEquals("", + CategoryColumn.getCategory1Instance().getColumnText(codeArt, CategoryColumn.getCategory1Instance(), 0)); + Assert.assertEquals("", + CategoryColumn.getCategory1Instance().getColumnText(reqArt, CategoryColumn.getCategory1Instance(), 0)); + Assert.assertEquals("", + CategoryColumn.getCategory1Instance().getColumnText(testArt, CategoryColumn.getCategory1Instance(), 0)); + Assert.assertEquals("", + CategoryColumn.getCategory1Instance().getColumnText(actionArt, CategoryColumn.getCategory1Instance(), 0)); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CategoryColumnTest.class.getSimpleName()); + codeArt.addAttribute(AtsAttributeTypes.Category1, "this"); + codeArt.persist(transaction); + reqArt.addAttribute(AtsAttributeTypes.Category1, "that"); + reqArt.persist(transaction); + testArt.addAttribute(AtsAttributeTypes.Category1, "the other"); + testArt.persist(transaction); + transaction.execute(); + + Assert.assertEquals("this", + CategoryColumn.getCategory1Instance().getColumnText(codeArt, CategoryColumn.getCategory1Instance(), 0)); + Assert.assertEquals("that", + CategoryColumn.getCategory1Instance().getColumnText(reqArt, CategoryColumn.getCategory1Instance(), 0)); + Assert.assertEquals("the other", + CategoryColumn.getCategory1Instance().getColumnText(testArt, CategoryColumn.getCategory1Instance(), 0)); + + String actionArtStr = + CategoryColumn.getCategory1Instance().getColumnText(actionArt, CategoryColumn.getCategory1Instance(), 0); + Assert.assertEquals(3, actionArtStr.split("; ").length); + Assert.assertTrue(actionArtStr.contains("this")); + Assert.assertTrue(actionArtStr.contains("that")); + Assert.assertTrue(actionArtStr.contains("the other")); + + transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CategoryColumnTest.class.getSimpleName()); + codeArt.deleteAttributes(AtsAttributeTypes.Category1); + codeArt.persist(transaction); + reqArt.deleteSoleAttribute(AtsAttributeTypes.Category1); + reqArt.persist(transaction); + testArt.deleteAttribute(AtsAttributeTypes.Category1, "the other"); + testArt.persist(transaction); + transaction.execute(); + + Assert.assertEquals("", + CategoryColumn.getCategory1Instance().getColumnText(codeArt, CategoryColumn.getCategory1Instance(), 0)); + Assert.assertEquals("", + CategoryColumn.getCategory1Instance().getColumnText(reqArt, CategoryColumn.getCategory1Instance(), 0)); + Assert.assertEquals("", + CategoryColumn.getCategory1Instance().getColumnText(testArt, CategoryColumn.getCategory1Instance(), 0)); + Assert.assertEquals("", + CategoryColumn.getCategory1Instance().getColumnText(actionArt, CategoryColumn.getCategory1Instance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ChangeTypeColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ChangeTypeColumnTest.java new file mode 100644 index 00000000000..fbfa1804027 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ChangeTypeColumnTest.java @@ -0,0 +1,82 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.ChangeTypeColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.workflow.ChangeType; +import org.eclipse.osee.ats.core.client.workflow.ChangeTypeUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * @tests ChangeTypeColumn + * @author Donald G. Dunne + */ +public class ChangeTypeColumnTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws OseeCoreException { + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + reqArt.setSoleAttributeValue(AtsAttributeTypes.ChangeType, ChangeType.Problem.name()); + reqArt.persist(CategoryColumnTest.class.getSimpleName()); + } + + @org.junit.Test + public void getChangeTypeStrAndImage() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertEquals(ChangeType.Problem, ChangeTypeUtil.getChangeType(codeArt)); + Assert.assertNotNull(ChangeTypeColumn.getInstance().getColumnImage(codeArt, ChangeTypeColumn.getInstance(), 0)); + + Artifact actionArt = codeArt.getParentActionArtifact(); + Assert.assertEquals(ChangeType.Problem, ChangeTypeUtil.getChangeType(actionArt)); + + // clear our req change type + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + ChangeTypeUtil.setChangeType(reqArt, ChangeType.None); + reqArt.persist(CategoryColumnTest.class.getSimpleName()); + + Assert.assertEquals(ChangeType.None, ChangeTypeUtil.getChangeType(reqArt)); + Assert.assertNull(ChangeTypeColumn.getInstance().getColumnImage(reqArt, ChangeTypeColumn.getInstance(), 0)); + + Assert.assertEquals(ChangeType.Problem, ChangeTypeUtil.getChangeType(actionArt)); + Assert.assertEquals("Problem", + ChangeTypeColumn.getInstance().getColumnText(actionArt, ChangeTypeColumn.getInstance(), 0)); + + // set change type to Improvement + ChangeTypeUtil.setChangeType(reqArt, ChangeType.Improvement); + reqArt.persist(CategoryColumnTest.class.getSimpleName()); + + Assert.assertEquals(ChangeType.Improvement, ChangeTypeUtil.getChangeType(reqArt)); + Assert.assertNotNull(ChangeTypeColumn.getInstance().getColumnImage(reqArt, ChangeTypeColumn.getInstance(), 0)); + + Assert.assertEquals(ChangeType.Problem, ChangeTypeUtil.getChangeType(actionArt)); + Assert.assertEquals("Problem; Improvement", + ChangeTypeColumn.getInstance().getColumnText(actionArt, ChangeTypeColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CompletedDateColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CompletedDateColumnTest.java new file mode 100644 index 00000000000..76118a19901 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CompletedDateColumnTest.java @@ -0,0 +1,93 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import java.util.Arrays; +import java.util.Date; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.CompletedDateColumn; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.jdk.core.util.DateUtil; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * @tests CompletedDateColumn + * @author Donald G. Dunne + */ +public class CompletedDateColumnTest { + + @AfterClass + @BeforeClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanupSimpleTest(CompletedDateColumnTest.class.getSimpleName()); + } + + @org.junit.Test + public void testGetDateAndStrAndColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CompletedDateColumnTest.class.getSimpleName()); + TeamWorkFlowArtifact teamArt = + DemoTestUtil.createSimpleAction(CompletedDateColumnTest.class.getSimpleName(), transaction); + transaction.execute(); + + Assert.assertEquals("", + CompletedDateColumn.getInstance().getColumnText(teamArt, CompletedDateColumn.getInstance(), 0)); + Date date = CompletedDateColumn.getDate(teamArt); + Assert.assertNull(date); + Assert.assertEquals("", CompletedDateColumn.getDateStr(teamArt)); + + TransitionHelper helper = + new TransitionHelper("Transition to Completed", Arrays.asList(teamArt), TeamState.Completed.getName(), null, + null, TransitionOption.OverrideTransitionValidityCheck, TransitionOption.OverrideAssigneeCheck); + TransitionManager transitionMgr = new TransitionManager(helper); + TransitionResults results = transitionMgr.handleAll(); + Assert.assertTrue(results.toString(), results.isEmpty()); + transitionMgr.getTransaction().execute(); + + date = CompletedDateColumn.getDate(teamArt); + Assert.assertNotNull(date); + Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), CompletedDateColumn.getDateStr(teamArt)); + Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), + CompletedDateColumn.getInstance().getColumnText(teamArt, CompletedDateColumn.getInstance(), 0)); + + helper = + new TransitionHelper("Transition to Endorse", Arrays.asList(teamArt), TeamState.Endorse.getName(), + Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.OverrideTransitionValidityCheck, + TransitionOption.OverrideAssigneeCheck); + transitionMgr = new TransitionManager(helper); + results = transitionMgr.handleAll(); + Assert.assertTrue(results.toString(), results.isEmpty()); + transitionMgr.getTransaction().execute(); + + Assert.assertEquals("Cancelled date should be blank again", "", + CompletedDateColumn.getInstance().getColumnText(teamArt, CompletedDateColumn.getInstance(), 0)); + date = CompletedDateColumn.getDate(teamArt); + Assert.assertNull(date); + + TestUtil.severeLoggingEnd(loggingMonitor); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CreatedDateColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CreatedDateColumnTest.java new file mode 100644 index 00000000000..2d608a12fb2 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/CreatedDateColumnTest.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import java.util.Date; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.CreatedDateColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.jdk.core.util.DateUtil; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests CreatedDateColumn + * @author Donald G. Dunne + */ +public class CreatedDateColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertNotNull(CreatedDateColumn.getInstance().getColumnText(codeArt, CreatedDateColumn.getInstance(), 0)); + Date date = CreatedDateColumn.getDate(codeArt); + Assert.assertNotNull(date); + Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), CreatedDateColumn.getDateStr(codeArt)); + + Artifact actionArt = codeArt.getParentActionArtifact(); + Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), CreatedDateColumn.getDateStr(actionArt)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/DeadlineColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/DeadlineColumnTest.java new file mode 100644 index 00000000000..554139e5812 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/DeadlineColumnTest.java @@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import java.util.Calendar; +import java.util.Date; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.DeadlineColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.jdk.core.util.DateUtil; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * @tests DeadlineColumn + * @author Donald G. Dunne + */ +public class DeadlineColumnTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanupSimpleTest(DeadlineColumnTest.class.getSimpleName()); + } + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CancelledDateColumnTest.class.getSimpleName()); + TeamWorkFlowArtifact teamArt = + DemoTestUtil.createSimpleAction(CancelledDateColumnTest.class.getSimpleName(), transaction); + transaction.execute(); + + Assert.assertNull(DeadlineColumn.getDate(teamArt)); + + Date creationDate = teamArt.getCreatedDate(); + Calendar calendar = DateUtil.getCalendar(creationDate); + calendar.add(Calendar.DAY_OF_MONTH, -1); + Date overdueDate = calendar.getTime(); + + teamArt.setSoleAttributeValue(AtsAttributeTypes.NeedBy, overdueDate); + teamArt.persist(getClass().getSimpleName()); + + Assert.assertEquals(overdueDate, DeadlineColumn.getDate(teamArt)); + Assert.assertTrue(DeadlineColumn.isDeadlineAlerting(teamArt).isTrue()); + Assert.assertNotNull(DeadlineColumn.getInstance().getColumnImage(teamArt, DeadlineColumn.getInstance(), 0)); + + calendar = DateUtil.getCalendar(creationDate); + calendar.add(Calendar.DAY_OF_MONTH, +5); + Date futureDate = calendar.getTime(); + + teamArt.setSoleAttributeValue(AtsAttributeTypes.NeedBy, futureDate); + teamArt.persist(getClass().getSimpleName()); + + Assert.assertEquals(futureDate, DeadlineColumn.getDate(teamArt)); + Assert.assertTrue(DeadlineColumn.isDeadlineAlerting(teamArt).isFalse()); + Assert.assertNull(DeadlineColumn.getInstance().getColumnImage(teamArt, DeadlineColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/DescriptionColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/DescriptionColumnTest.java new file mode 100644 index 00000000000..1d4e29c1dd0 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/DescriptionColumnTest.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.DescriptionColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests DescriptionColumn + * @author Donald G. Dunne + */ +public class DescriptionColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertEquals("Problem with the Diagram View", + DescriptionColumn.getInstance().getColumnText(reqArt, DescriptionColumn.getInstance(), 0)); + + Artifact actionArt = reqArt.getParentActionArtifact(); + Assert.assertEquals("Problem with the Diagram View", + DescriptionColumn.getInstance().getColumnText(actionArt, DescriptionColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/EstimatedHoursColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/EstimatedHoursColumnTest.java new file mode 100644 index 00000000000..4afac0c97c9 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/EstimatedHoursColumnTest.java @@ -0,0 +1,123 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import java.util.Date; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.workflow.EstimatedHoursUtil; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * @tests EstimatedHoursColumn + * @author Donald G. Dunne + */ +public class EstimatedHoursColumnTest { + + @AfterClass + @BeforeClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanupSimpleTest(EstimatedHoursColumnTest.class.getSimpleName()); + } + + @org.junit.Test + public void testGetDateAndStrAndColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), EstimatedHoursColumnTest.class.getSimpleName()); + TeamWorkFlowArtifact teamArt1 = + DemoTestUtil.createSimpleAction(EstimatedHoursColumnTest.class.getSimpleName(), transaction); + + Artifact actionArt = teamArt1.getParentActionArtifact(); + TeamWorkFlowArtifact teamArt2 = + DemoTestUtil.addTeamWorkflow(actionArt, EstimatedHoursColumnTest.class.getSimpleName(), transaction); + TaskArtifact taskArt1 = + teamArt1.createNewTask(EstimatedHoursColumnTest.class.getSimpleName(), new Date(), AtsUsersClient.getUser()); + taskArt1.persist(transaction); + TaskArtifact taskArt2 = + teamArt1.createNewTask(EstimatedHoursColumnTest.class.getSimpleName(), new Date(), AtsUsersClient.getUser()); + taskArt2.persist(transaction); + PeerToPeerReviewArtifact peerArt = + PeerToPeerReviewManager.createNewPeerToPeerReview(teamArt1, getClass().getSimpleName(), + teamArt1.getStateMgr().getCurrentStateName(), transaction); + peerArt.persist(transaction); + transaction.execute(); + + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); + + teamArt1.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 1.4); + teamArt1.persist(getClass().getSimpleName()); + Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); + Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); + + taskArt1.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 1.4); + taskArt1.persist(getClass().getSimpleName()); + Assert.assertEquals(2.8, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); + Assert.assertEquals(2.8, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); + Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); + + peerArt.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 4.0); + peerArt.persist(getClass().getSimpleName()); + Assert.assertEquals(6.8, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); + Assert.assertEquals(6.8, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); + Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); + Assert.assertEquals(4.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); + + teamArt2.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 2.1); + teamArt2.persist(getClass().getSimpleName()); + Assert.assertEquals(8.9, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); + Assert.assertEquals(6.8, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); + Assert.assertEquals(2.1, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); + Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); + Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); + Assert.assertEquals(4.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); + + taskArt2.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 0.1); + taskArt2.persist(getClass().getSimpleName()); + Assert.assertEquals(9.0, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); + Assert.assertEquals(6.9, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); + Assert.assertEquals(2.1, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); + Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); + Assert.assertEquals(0.1, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); + Assert.assertEquals(4.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); + + TestUtil.severeLoggingEnd(loggingMonitor); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/GroupsColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/GroupsColumnTest.java new file mode 100644 index 00000000000..78b264b3acb --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/GroupsColumnTest.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.GroupsColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests GroupsColumn + * @author Donald G. Dunne + */ +public class GroupsColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertEquals("Test Group", GroupsColumn.getInstance().getColumnText(reqArt, GroupsColumn.getInstance(), 0)); + + Artifact actionArt = reqArt.getParentActionArtifact(); + Assert.assertEquals("Test Group", + GroupsColumn.getInstance().getColumnText(actionArt, GroupsColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/NumberOfTasksAndInWorkTasksColumnsTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/NumberOfTasksAndInWorkTasksColumnsTest.java new file mode 100644 index 00000000000..55ad70f6c4b --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/NumberOfTasksAndInWorkTasksColumnsTest.java @@ -0,0 +1,80 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import java.util.Collection; +import java.util.HashSet; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.NumberOfTasksColumn; +import org.eclipse.osee.ats.column.NumberOfTasksRemainingColumn; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.task.TaskManager; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests NumberOfTasksColumn + * @tests NumberOfTasksRemainingColumn + * @author Donald G. Dunne + */ +public class NumberOfTasksAndInWorkTasksColumnsTest { + + @org.junit.Test + public void getColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertEquals("6", NumberOfTasksColumn.getInstance().getColumnText(codeArt, null, 0)); + Assert.assertEquals("6", NumberOfTasksRemainingColumn.getInstance().getColumnText(codeArt, null, 0)); + + TaskArtifact taskArt = codeArt.getTaskArtifacts().iterator().next(); + Collection taskAssignees = new HashSet(); + taskAssignees.addAll(codeArt.getStateMgr().getAssignees()); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName()); + Result result = TaskManager.transitionToCompleted(taskArt, 0.0, 2, transaction); + Assert.assertEquals(true, result.isTrue()); + taskArt.persist(transaction); + transaction.execute(); + + Assert.assertEquals("6", NumberOfTasksColumn.getInstance().getColumnText(codeArt, null, 0)); + Assert.assertEquals("5", NumberOfTasksRemainingColumn.getInstance().getColumnText(codeArt, null, 0)); + + transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName()); + result = TaskManager.transitionToInWork(taskArt, taskAssignees.iterator().next(), 0, -2, transaction); + Assert.assertEquals(true, result.isTrue()); + taskArt.persist(transaction); + transaction.execute(); + + Assert.assertEquals("6", NumberOfTasksColumn.getInstance().getColumnText(codeArt, null, 0)); + Assert.assertEquals("6", NumberOfTasksRemainingColumn.getInstance().getColumnText(codeArt, null, 0)); + + TeamWorkFlowArtifact testArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Test); + Assert.assertEquals("", NumberOfTasksColumn.getInstance().getColumnText(testArt, null, 0)); + Assert.assertEquals("", NumberOfTasksRemainingColumn.getInstance().getColumnText(testArt, null, 0)); + + Artifact actionArt = codeArt.getParentActionArtifact(); + Assert.assertEquals("6", NumberOfTasksColumn.getInstance().getColumnText(actionArt, null, 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/OriginatorColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/OriginatorColumnTest.java new file mode 100644 index 00000000000..d9a68e8c8c3 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/OriginatorColumnTest.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.OriginatorColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests OriginatorColumn + * @author Donald G. Dunne + */ +public class OriginatorColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertEquals(UserManager.getUser(DemoUsers.Joe_Smith).getName(), + OriginatorColumn.getInstance().getColumnText(reqArt, OriginatorColumn.getInstance(), 0)); + + Artifact actionArt = reqArt.getParentActionArtifact(); + Assert.assertEquals(UserManager.getUser(DemoUsers.Joe_Smith).getName(), + OriginatorColumn.getInstance().getColumnText(actionArt, OriginatorColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ParentStateAndIdColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ParentStateAndIdColumnTest.java new file mode 100644 index 00000000000..3c7f8d5408e --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/ParentStateAndIdColumnTest.java @@ -0,0 +1,58 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.ParentHridColumn; +import org.eclipse.osee.ats.column.ParentStateColumn; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests ParentStateColumn + * @tests ParentHridColumn + * @author Donald G. Dunne + */ +public class ParentStateAndIdColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Artifact actionArt = codeArt.getParentActionArtifact(); + + Assert.assertEquals("", ParentStateColumn.getInstance().getColumnText(codeArt, ParentHridColumn.getInstance(), 0)); + Assert.assertEquals(actionArt.getHumanReadableId(), + ParentHridColumn.getInstance().getColumnText(codeArt, ParentHridColumn.getInstance(), 0)); + + PeerToPeerReviewArtifact peerArt = + (PeerToPeerReviewArtifact) codeArt.getRelatedArtifact(AtsRelationTypes.TeamWorkflowToReview_Review); + Assert.assertEquals(TeamState.Implement.getName(), + ParentStateColumn.getInstance().getColumnText(peerArt, ParentHridColumn.getInstance(), 0)); + Assert.assertEquals(codeArt.getHumanReadableId(), + ParentHridColumn.getInstance().getColumnText(peerArt, ParentHridColumn.getInstance(), 0)); + + Assert.assertEquals("", + ParentStateColumn.getInstance().getColumnText(actionArt, ParentHridColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PeerToPeerReviewColumnsTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PeerToPeerReviewColumnsTest.java new file mode 100644 index 00000000000..d7df8490e80 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PeerToPeerReviewColumnsTest.java @@ -0,0 +1,145 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.ReviewAuthorColumn; +import org.eclipse.osee.ats.column.ReviewModeratorColumn; +import org.eclipse.osee.ats.column.ReviewNumIssuesColumn; +import org.eclipse.osee.ats.column.ReviewNumMajorDefectsColumn; +import org.eclipse.osee.ats.column.ReviewNumMinorDefectsColumn; +import org.eclipse.osee.ats.column.ReviewReviewerColumn; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; +import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem; +import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem.Disposition; +import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem.InjectionActivity; +import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem.Severity; +import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectManager; +import org.eclipse.osee.ats.core.client.review.role.Role; +import org.eclipse.osee.ats.core.client.review.role.UserRole; +import org.eclipse.osee.ats.core.client.review.role.UserRoleManager; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * @tests CancelledDateColumn + * @author Donald G. Dunne + */ +public class PeerToPeerReviewColumnsTest { + + @AfterClass + @BeforeClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanupSimpleTest(PeerToPeerReviewColumnsTest.class.getSimpleName()); + } + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), PeerToPeerReviewColumnsTest.class.getSimpleName()); + TeamWorkFlowArtifact teamArt = + DemoTestUtil.createSimpleAction(PeerToPeerReviewColumnsTest.class.getSimpleName(), transaction); + PeerToPeerReviewArtifact peerArt = + PeerToPeerReviewManager.createNewPeerToPeerReview(teamArt, getClass().getSimpleName(), + teamArt.getStateMgr().getCurrentStateName(), transaction); + peerArt.persist(transaction); + transaction.execute(); + + Assert.assertEquals("0", ReviewNumIssuesColumn.getInstance().getColumnText(peerArt, null, 0)); + Assert.assertEquals("0", ReviewNumMajorDefectsColumn.getInstance().getColumnText(peerArt, null, 0)); + Assert.assertEquals("0", ReviewNumMinorDefectsColumn.getInstance().getColumnText(peerArt, null, 0)); + Assert.assertEquals("", ReviewAuthorColumn.getInstance().getColumnText(peerArt, null, 0)); + Assert.assertEquals("", ReviewModeratorColumn.getInstance().getColumnText(peerArt, null, 0)); + Assert.assertEquals("", ReviewReviewerColumn.getInstance().getColumnText(peerArt, null, 0)); + + transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), PeerToPeerReviewColumnsTest.class.getSimpleName()); + ReviewDefectItem item = + new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Issue, Disposition.None, InjectionActivity.Code, + "description", "resolution", "location", new Date()); + ReviewDefectManager defectManager = new ReviewDefectManager(peerArt); + defectManager.addOrUpdateDefectItem(item); + item = + new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Issue, Disposition.None, InjectionActivity.Code, + "description 2", "resolution", "location", new Date()); + defectManager.addOrUpdateDefectItem(item); + item = + new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Issue, Disposition.None, InjectionActivity.Code, + "description 3", "resolution", "location", new Date()); + defectManager.addOrUpdateDefectItem(item); + item = + new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Issue, Disposition.None, InjectionActivity.Code, + "description 34", "resolution", "location", new Date()); + defectManager.addOrUpdateDefectItem(item); + item = + new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Major, Disposition.None, InjectionActivity.Code, + "description 4", "resolution", "location", new Date()); + defectManager.addOrUpdateDefectItem(item); + item = + new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Minor, Disposition.None, InjectionActivity.Code, + "description 5", "resolution", "location", new Date()); + defectManager.addOrUpdateDefectItem(item); + item = + new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Minor, Disposition.None, InjectionActivity.Code, + "description 6", "resolution", "location", new Date()); + defectManager.addOrUpdateDefectItem(item); + item = + new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Minor, Disposition.None, InjectionActivity.Code, + "description 6", "resolution", "location", new Date()); + defectManager.addOrUpdateDefectItem(item); + defectManager.saveToArtifact(peerArt); + + UserRole role = new UserRole(Role.Author, AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)); + UserRoleManager roleMgr = new UserRoleManager(peerArt); + roleMgr.addOrUpdateUserRole(role); + + role = new UserRole(Role.Moderator, AtsUsersClient.getUserFromToken(DemoUsers.Jason_Michael)); + roleMgr.addOrUpdateUserRole(role); + + role = new UserRole(Role.Reviewer, AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + roleMgr.addOrUpdateUserRole(role); + role = new UserRole(Role.Reviewer, AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); + roleMgr.addOrUpdateUserRole(role); + roleMgr.saveToArtifact(transaction); + peerArt.persist(transaction); + transaction.execute(); + + Assert.assertEquals("4", ReviewNumIssuesColumn.getInstance().getColumnText(peerArt, null, 0)); + Assert.assertEquals("1", ReviewNumMajorDefectsColumn.getInstance().getColumnText(peerArt, null, 0)); + Assert.assertEquals("3", ReviewNumMinorDefectsColumn.getInstance().getColumnText(peerArt, null, 0)); + Assert.assertEquals(DemoUsers.Alex_Kay.getName(), + ReviewAuthorColumn.getInstance().getColumnText(peerArt, null, 0)); + Assert.assertEquals(DemoUsers.Jason_Michael.getName(), + ReviewModeratorColumn.getInstance().getColumnText(peerArt, null, 0)); + List results = + Arrays.asList(DemoUsers.Kay_Jones.getName() + "; " + DemoUsers.Joe_Smith.getName(), + DemoUsers.Joe_Smith.getName() + "; " + DemoUsers.Kay_Jones.getName()); + Assert.assertTrue(results.contains(ReviewReviewerColumn.getInstance().getColumnText(peerArt, null, 0))); + + TestUtil.severeLoggingEnd(loggingMonitor); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PriorityColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PriorityColumnTest.java new file mode 100644 index 00000000000..6f8d47f4d2a --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/PriorityColumnTest.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.PriorityColumn; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests PriorityColumn + * @author Donald G. Dunne + */ +public class PriorityColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertEquals("3", PriorityColumn.getInstance().getColumnText(reqArt, PriorityColumn.getInstance(), 0)); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertEquals("3", PriorityColumn.getInstance().getColumnText(codeArt, PriorityColumn.getInstance(), 0)); + + PeerToPeerReviewArtifact peerArt = + (PeerToPeerReviewArtifact) codeArt.getRelatedArtifact(AtsRelationTypes.TeamWorkflowToReview_Review); + Assert.assertEquals("", PriorityColumn.getInstance().getColumnText(peerArt, PriorityColumn.getInstance(), 0)); + + TaskArtifact taskArt = + (TaskArtifact) codeArt.getRelatedArtifacts(AtsRelationTypes.SmaToTask_Task).iterator().next(); + Assert.assertEquals("", PriorityColumn.getInstance().getColumnText(taskArt, PriorityColumn.getInstance(), 0)); + + Artifact actionArt = reqArt.getParentActionArtifact(); + Assert.assertEquals("3", PriorityColumn.getInstance().getColumnText(actionArt, PriorityColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/RelatedToStateColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/RelatedToStateColumnTest.java new file mode 100644 index 00000000000..b2e99fe625c --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/RelatedToStateColumnTest.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.RelatedToStateColumn; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests RelatedToStateColumn + * @author Donald G. Dunne + */ +public class RelatedToStateColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertEquals("", + RelatedToStateColumn.getInstance().getColumnText(codeArt, RelatedToStateColumn.getInstance(), 0)); + + PeerToPeerReviewArtifact peerArt = + (PeerToPeerReviewArtifact) codeArt.getRelatedArtifact(AtsRelationTypes.TeamWorkflowToReview_Review); + Assert.assertEquals("Implement", + RelatedToStateColumn.getInstance().getColumnText(peerArt, RelatedToStateColumn.getInstance(), 0)); + + TaskArtifact taskArt = + (TaskArtifact) codeArt.getRelatedArtifacts(AtsRelationTypes.SmaToTask_Task).iterator().next(); + Assert.assertEquals("Implement", + RelatedToStateColumn.getInstance().getColumnText(taskArt, RelatedToStateColumn.getInstance(), 0)); + + TeamWorkFlowArtifact reqArt = (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertEquals("", + RelatedToStateColumn.getInstance().getColumnText(reqArt, RelatedToStateColumn.getInstance(), 0)); + + Artifact actionArt = reqArt.getParentActionArtifact(); + Assert.assertEquals("", + RelatedToStateColumn.getInstance().getColumnText(actionArt, RelatedToStateColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/StateColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/StateColumnTest.java new file mode 100644 index 00000000000..c05178e0e81 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/StateColumnTest.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.StateColumn; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests StateColumn + * @author Donald G. Dunne + */ +public class StateColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertEquals(TeamState.Implement.getName(), + StateColumn.getInstance().getColumnText(reqArt, StateColumn.getInstance(), 0)); + + Artifact actionArt = reqArt.getParentActionArtifact(); + Assert.assertEquals(TeamState.Implement.getName(), + StateColumn.getInstance().getColumnText(actionArt, StateColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TargetedVersionColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TargetedVersionColumnTest.java new file mode 100644 index 00000000000..296f2b793f3 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TargetedVersionColumnTest.java @@ -0,0 +1,58 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.client.demo.DemoSawBuilds; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.TargetedVersionColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests TargetedVersionColumn + * @author Donald G. Dunne + */ +public class TargetedVersionColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertEquals(DemoSawBuilds.SAW_Bld_2.getName(), + TargetedVersionColumn.getInstance().getColumnText(reqArt, TargetedVersionColumn.getInstance(), 0)); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertEquals(DemoSawBuilds.SAW_Bld_2.getName(), + TargetedVersionColumn.getInstance().getColumnText(codeArt, TargetedVersionColumn.getInstance(), 0)); + + Artifact actionArt = reqArt.getParentActionArtifact(); + Assert.assertEquals(DemoSawBuilds.SAW_Bld_2.getName(), + TargetedVersionColumn.getInstance().getColumnText(actionArt, TargetedVersionColumn.getInstance(), 0)); + + TeamWorkFlowArtifact toolsArt = DemoTestUtil.getToolsTeamWorkflow(); + Assert.assertEquals("", + TargetedVersionColumn.getInstance().getColumnText(toolsArt, TargetedVersionColumn.getInstance(), 0)); + + actionArt = toolsArt.getParentActionArtifact(); + Assert.assertEquals("", + TargetedVersionColumn.getInstance().getColumnText(actionArt, TargetedVersionColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TeamColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TeamColumnTest.java new file mode 100644 index 00000000000..3e43cfb36fd --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TeamColumnTest.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.TeamColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests TeamColumn + * @author Donald G. Dunne + */ +public class TeamColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertEquals("SAW Requirements", + TeamColumn.getInstance().getColumnText(reqArt, TeamColumn.getInstance(), 0)); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertEquals("SAW Code", TeamColumn.getInstance().getColumnText(codeArt, TeamColumn.getInstance(), 0)); + + Artifact actionArt = reqArt.getParentActionArtifact(); + Assert.assertEquals("", TeamColumn.getInstance().getColumnText(actionArt, TeamColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TypeColumnTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TypeColumnTest.java new file mode 100644 index 00000000000..a71154e9c31 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/column/TypeColumnTest.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.column; + +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.column.TypeColumn; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; + +/** + * @tests TypeColumn + * @author Donald G. Dunne + */ +public class TypeColumnTest { + + @org.junit.Test + public void testGetColumnText() throws Exception { + SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact reqArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); + Assert.assertEquals("SAW Requirements Workflow", + TypeColumn.getInstance().getColumnText(reqArt, TypeColumn.getInstance(), 0)); + + TeamWorkFlowArtifact codeArt = + (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); + Assert.assertEquals("SAW Code Workflow", + TypeColumn.getInstance().getColumnText(codeArt, TypeColumn.getInstance(), 0)); + + Artifact actionArt = reqArt.getParentActionArtifact(); + Assert.assertEquals("Action", TypeColumn.getInstance().getColumnText(actionArt, TypeColumn.getInstance(), 0)); + + TestUtil.severeLoggingEnd(loggingMonitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsBranchConfigurationTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsBranchConfigurationTest.java new file mode 100644 index 00000000000..8977e1506a1 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsBranchConfigurationTest.java @@ -0,0 +1,461 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.config; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.logging.Level; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.version.IAtsVersion; +import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition; +import org.eclipse.osee.ats.config.AtsConfigManager; +import org.eclipse.osee.ats.core.client.action.ActionManager; +import org.eclipse.osee.ats.core.client.branch.AtsBranchManagerCore; +import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; +import org.eclipse.osee.ats.core.client.config.store.ActionableItemArtifactStore; +import org.eclipse.osee.ats.core.client.config.store.TeamDefinitionArtifactStore; +import org.eclipse.osee.ats.core.client.config.store.VersionArtifactStore; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowManager; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.workflow.ChangeType; +import org.eclipse.osee.ats.core.config.ActionableItems; +import org.eclipse.osee.ats.core.config.AtsConfigCache; +import org.eclipse.osee.ats.core.config.AtsVersionService; +import org.eclipse.osee.ats.editor.SMAEditor; +import org.eclipse.osee.ats.util.AtsBranchManager; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.data.IOseeBranch; +import org.eclipse.osee.framework.core.data.TokenFactory; +import org.eclipse.osee.framework.core.enums.BranchArchivedState; +import org.eclipse.osee.framework.core.enums.BranchType; +import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; +import org.eclipse.osee.framework.core.enums.ModificationType; +import org.eclipse.osee.framework.core.exception.BranchDoesNotExist; +import org.eclipse.osee.framework.core.model.Branch; +import org.eclipse.osee.framework.core.operation.IOperation; +import org.eclipse.osee.framework.core.operation.Operations; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; +import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.revision.ChangeData; +import org.eclipse.osee.framework.skynet.core.revision.ChangeData.KindType; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; + +/** + * Run from the ATS Navigator after the DB is configured for either ATS - Dev or Demo + * + * @author Donald G. Dunne + */ +public class AtsBranchConfigurationTest { + + public static final IOseeBranch BRANCH_VIA_TEAM_DEFINITION = TokenFactory.createBranch("AyH_e6damwQgvDhKfAAA", + "BranchViaTeamDef"); + public static final IOseeBranch BRANCH_VIA_VERSIONS = TokenFactory.createBranch("AyH_e6damwQgvDhKfBBB", + "BranchViaVersions"); + private final boolean DEBUG = false; + + private static Collection appendToName(IOseeBranch branch, String... postFixes) { + Collection data = new ArrayList(); + for (String postFix : postFixes) { + data.add(String.format("%s - %s", branch.getName(), postFix)); + } + return data; + } + + private static String asNamespace(IOseeBranch branch) { + return String.format("org.branchTest.%s", branch.getName().toLowerCase()); + } + + @Before + public void testSetup() throws Exception { + if (AtsUtil.isProductionDb()) { + throw new IllegalStateException("BranchConfigThroughTeamDefTest should not be run on production DB"); + } + AtsBulkLoad.loadConfig(true); + + } + + @org.junit.Test + public void testBranchViaVersions() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Running testBranchViaVersions..."); + } + + // Cleanup from previous run + cleanupBranchTest(BRANCH_VIA_VERSIONS); + + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, + "Configuring ATS for team org.branchTest.viaTeamDefs"); + } + + // create team definition and actionable item + String name = BRANCH_VIA_VERSIONS.getName(); + String namespace = asNamespace(BRANCH_VIA_VERSIONS); + Collection versions = appendToName(BRANCH_VIA_VERSIONS, "Ver1", "Ver2"); + Collection actionableItems = appendToName(BRANCH_VIA_VERSIONS, "A1", "A2"); + configureAts(namespace, name, versions, actionableItems); + + // create main branch + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Creating root branch"); + } + // Create SAW_Bld_2 branch off SAW_Bld_1 + Branch viaTeamDefBranch = BranchManager.createTopLevelBranch(BRANCH_VIA_VERSIONS); + + TestUtil.sleep(2000); + + // configure version to use branch and allow create/commit + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, + "Configuring version to use branch and allow create/commit"); + } + IAtsTeamDefinition teamDef = + AtsConfigCache.instance.getSoleByName(BRANCH_VIA_VERSIONS.getName(), IAtsTeamDefinition.class); + IAtsVersion versionToTarget = null; + String version1Hrid = "", version2Hrid = ""; + for (IAtsVersion vArt : teamDef.getVersions()) { + if (vArt.getName().contains("Ver1")) { + versionToTarget = vArt; + version1Hrid = vArt.getHumanReadableId(); + } else { + version2Hrid = vArt.getHumanReadableId(); + } + } + versionToTarget.setBaselineBranchGuid(viaTeamDefBranch.getGuid()); + versionToTarget.setAllowCommitBranch(true); + versionToTarget.setAllowCreateBranch(true); + + VersionArtifactStore verStore = new VersionArtifactStore(versionToTarget); + verStore.save(getClass().getSimpleName()); + + TestUtil.sleep(2000); + + // create action and target for version + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, + "Create new Action and target for version " + versionToTarget); + } + + Collection selectedActionableItems = + ActionableItems.getActionableItems(appendToName(BRANCH_VIA_VERSIONS, "A1")); + Assert.assertFalse(selectedActionableItems.isEmpty()); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); + Artifact actionArt = + ActionManager.createAction(null, BRANCH_VIA_VERSIONS.getName() + " Req Changes", "description", + ChangeType.Problem, "1", false, null, selectedActionableItems, new Date(), AtsUsersClient.getUser(), null, + transaction); + TeamWorkFlowArtifact teamWf = ActionManager.getTeams(actionArt).iterator().next(); + AtsVersionService.get().setTargetedVersionAndStore(teamWf, versionToTarget); + teamWf.persist(transaction); + transaction.execute(); + + TeamWorkFlowManager dtwm = new TeamWorkFlowManager(teamWf); + + // Transition to desired state + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Transitioning to Implement state"); + } + + dtwm.transitionTo(TeamState.Implement, AtsUsersClient.getUser(), false, transaction); + teamWf.persist("Branch Configuration Test"); + + SMAEditor.editArtifact(teamWf); + + // create branch + createBranch(namespace, teamWf); + + // make changes + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Make new requirement artifact"); + } + Artifact rootArtifact = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(teamWf.getWorkingBranch()); + Artifact blk3MainArt = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirement, teamWf.getWorkingBranch(), + BRANCH_VIA_VERSIONS.getName() + " Requirement"); + rootArtifact.addChild(blk3MainArt); + blk3MainArt.persist(getClass().getSimpleName()); + + // commit branch + commitBranch(teamWf); + + TestUtil.sleep(2000); + + // test change report + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Test change report results"); + } + ChangeData changeData = AtsBranchManager.getChangeDataFromEarliestTransactionId(teamWf); + Assert.assertFalse("No changes detected", changeData.isEmpty()); + + Collection newArts = changeData.getArtifacts(KindType.Artifact, ModificationType.NEW); + Assert.assertTrue("Should be 1 new artifact in change report, found " + newArts.size(), newArts.size() == 1); + + TestUtil.severeLoggingEnd(monitor, Arrays.asList( + "Version [[" + version1Hrid + "][BranchViaVersions - Ver1]] has no related team defininition", + "Version [[" + version2Hrid + "][BranchViaVersions - Ver2]] has no related team defininition")); + } + + @org.junit.Test + public void testBranchViaTeamDefinition() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Running testBranchViaTeamDefinition..."); + } + + // Cleanup from previous run + cleanupBranchTest(BRANCH_VIA_TEAM_DEFINITION); + + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, + "Configuring ATS for team org.branchTest.viaTeamDefs"); + // create team definition and actionable item + } + + String name = BRANCH_VIA_TEAM_DEFINITION.getName(); + String namespace = asNamespace(BRANCH_VIA_TEAM_DEFINITION); + Collection versions = null; + Collection actionableItems = appendToName(BRANCH_VIA_TEAM_DEFINITION, "A1", "A2"); + configureAts(namespace, name, versions, actionableItems); + + // create main branch + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Creating root branch"); + } + // Create SAW_Bld_2 branch off SAW_Bld_1 + Branch viaTeamDefBranch = BranchManager.createTopLevelBranch(BRANCH_VIA_TEAM_DEFINITION); + + TestUtil.sleep(2000); + + // configure team def to use branch + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, + "Configuring team def to use branch and allow create/commit"); + } + IAtsTeamDefinition teamDef = + AtsConfigCache.instance.getSoleByName(BRANCH_VIA_TEAM_DEFINITION.getName(), IAtsTeamDefinition.class); + teamDef.setBaselineBranchGuid(viaTeamDefBranch.getGuid()); + // setup team def to allow create/commit of branch + teamDef.setAllowCommitBranch(true); + teamDef.setAllowCreateBranch(true); + teamDef.setTeamUsesVersions(false); + new TeamDefinitionArtifactStore(teamDef).save(getClass().getSimpleName()); + + TestUtil.sleep(2000); + + // create action, + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Create new Action"); + } + Collection selectedActionableItems = + ActionableItems.getActionableItems(appendToName(BRANCH_VIA_TEAM_DEFINITION, "A1")); + Assert.assertFalse(selectedActionableItems.isEmpty()); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Test branch via team definition: create action"); + String actionTitle = BRANCH_VIA_TEAM_DEFINITION.getName() + " Req Changes"; + Artifact actionArt = + ActionManager.createAction(null, actionTitle, "description", ChangeType.Problem, "1", false, null, + selectedActionableItems, new Date(), AtsUsersClient.getUser(), null, transaction); + transaction.execute(); + + final TeamWorkFlowArtifact teamWf = ActionManager.getTeams(actionArt).iterator().next(); + TeamWorkFlowManager dtwm = new TeamWorkFlowManager(teamWf); + + // Transition to desired state + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Transitioning to Implement state"); + } + dtwm.transitionTo(TeamState.Implement, AtsUsersClient.getUser(), false, transaction); + teamWf.persist("Test branch via team definition: Transition to desired state"); + + // create branch + createBranch(namespace, teamWf); + + // make changes + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Make new requirement artifact"); + } + Artifact rootArtifact = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(teamWf.getWorkingBranch()); + Artifact blk3MainArt = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirement, teamWf.getWorkingBranch(), + BRANCH_VIA_TEAM_DEFINITION.getName() + " Requirement"); + rootArtifact.addChild(blk3MainArt); + blk3MainArt.persist(getClass().getSimpleName()); + + // commit branch + commitBranch(teamWf); + + // test change report + if (DEBUG) { + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, "Test change report results"); + } + ChangeData changeData = AtsBranchManager.getChangeDataFromEarliestTransactionId(teamWf); + Assert.assertTrue("No changes detected", !changeData.isEmpty()); + + Collection newArts = changeData.getArtifacts(KindType.Artifact, ModificationType.NEW); + Assert.assertTrue("Should be 1 new artifact in change report, found " + newArts.size(), newArts.size() == 1); + + TestUtil.severeLoggingEnd(monitor); + } + + public static void cleanupBranchTest(IOseeBranch branch) throws Exception { + String namespace = "org.branchTest." + branch.getName().toLowerCase(); + Artifact aArt = + ArtifactQuery.checkArtifactFromTypeAndName(AtsArtifactTypes.Action, branch.getName() + " Req Changes", + AtsUtil.getAtsBranch()); + if (aArt != null) { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); + for (TeamWorkFlowArtifact teamArt : ActionManager.getTeams(aArt)) { + SMAEditor.close(Collections.singleton(teamArt), false); + teamArt.deleteAndPersist(transaction, true); + } + aArt.deleteAndPersist(transaction, true); + transaction.execute(); + } + + // Delete VersionArtifacts + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); + for (IAtsVersion version : AtsConfigCache.instance.get(IAtsVersion.class)) { + if (version.getName().contains(branch.getName())) { + Artifact artifact = new VersionArtifactStore(version).getArtifact(); + if (artifact != null) { + artifact.deleteAndPersist(transaction); + } + } + AtsConfigCache.instance.decache(version); + } + transaction.execute(); + + // Delete Team Definitions + IAtsTeamDefinition teamDef = AtsConfigCache.instance.getSoleByName(branch.getName(), IAtsTeamDefinition.class); + if (teamDef != null) { + TeamDefinitionArtifactStore teamDefStore = new TeamDefinitionArtifactStore(teamDef); + if (teamDefStore.getArtifact() != null && teamDefStore.getArtifact().isInDb()) { + transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); + teamDefStore.getArtifact().deleteAndPersist(transaction, false); + transaction.execute(); + } + AtsConfigCache.instance.decache(teamDef); + } + + // Delete AIs + IAtsActionableItem aia = AtsConfigCache.instance.getSoleByName(branch.getName(), IAtsActionableItem.class); + if (aia != null) { + transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); + for (IAtsActionableItem childAi : aia.getChildrenActionableItems()) { + new ActionableItemArtifactStore(childAi).getArtifact().deleteAndPersist(transaction, false); + AtsConfigCache.instance.decache(childAi); + } + new ActionableItemArtifactStore(aia).getArtifact().deleteAndPersist(transaction, false); + AtsConfigCache.instance.decache(aia); + transaction.execute(); + } + + // Work Definition + Collection arts = + ArtifactQuery.getArtifactListFromType(AtsArtifactTypes.WorkDefinition, AtsUtil.getAtsBranch()); + if (arts.size() > 0) { + transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); + for (Artifact workArt : arts) { + if (workArt.getName().startsWith(namespace)) { + workArt.deleteAndPersist(transaction, true); + } + } + transaction.execute(); + } + + try { + BranchManager.refreshBranches(); + // delete working branches + for (Branch workingBranch : BranchManager.getBranches(BranchArchivedState.ALL, BranchType.WORKING)) { + if (workingBranch.getName().contains(branch.getName())) { + BranchManager.purgeBranch(workingBranch); + TestUtil.sleep(2000); + } + } + if (BranchManager.branchExists(branch)) { + BranchManager.purgeBranch(branch); + } + TestUtil.sleep(2000); + + } catch (BranchDoesNotExist ex) { + // do nothing + } + } + + public static void commitBranch(TeamWorkFlowArtifact teamWf) throws Exception { + Job job = + AtsBranchManager.commitWorkingBranch(teamWf, false, true, + AtsBranchManagerCore.getWorkingBranch(teamWf).getParentBranch(), true); + try { + job.join(); + } catch (InterruptedException ex) { + // + } + } + + public static void createBranch(String namespace, TeamWorkFlowArtifact teamWf) throws Exception { + Result result = AtsBranchManagerCore.createWorkingBranch_Validate(teamWf); + if (result.isFalse()) { + AWorkbench.popup(result); + return; + } + AtsBranchManagerCore.createWorkingBranch_Create(teamWf); + TestUtil.sleep(4000); + } + + @After + public void tearDown() throws Exception { + cleanupBranchTest(BRANCH_VIA_VERSIONS); + cleanupBranchTest(BRANCH_VIA_TEAM_DEFINITION); + } + + public static void configureAts(String workDefinitionName, String teamDefName, Collection versionNames, Collection actionableItems) throws Exception { + AtsConfigManager.Display noDisplay = new MockAtsConfigDisplay(); + IOperation operation = + new AtsConfigManager(noDisplay, workDefinitionName, teamDefName, versionNames, actionableItems); + Operations.executeWorkAndCheckStatus(operation); + TestUtil.sleep(2000); + } + + private static final class MockAtsConfigDisplay implements AtsConfigManager.Display { + @Override + public void openAtsConfigurationEditors(IAtsTeamDefinition teamDef, Collection aias, IAtsWorkDefinition workDefinition) { + // Nothing to do - we have no display during testing + } + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsTest_Config_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsTest_Config_Suite.java new file mode 100644 index 00000000000..0bacdbfc231 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/AtsTest_Config_Suite.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.config; + +import org.eclipse.osee.ats.client.integration.tests.ats.config.copy.AtsTest_Demo_Copy_Suite; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsTest_Demo_Copy_Suite.class, AtsBranchConfigurationTest.class}) +/** + * This test suite contains test that can be run against any production db + * + * @author Donald G. Dunne + */ +public class AtsTest_Config_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Config_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Config_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/AtsTest_Demo_Copy_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/AtsTest_Demo_Copy_Suite.java new file mode 100644 index 00000000000..672e3db7c37 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/AtsTest_Demo_Copy_Suite.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.config.copy; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + ConfigDataTest.class, + CopyAtsConfigurationOperationTest.class, + CopyAtsUtilTest.class, + CopyAtsValidationTest.class}) +public class AtsTest_Demo_Copy_Suite { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Demo_Copy_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Demo_Copy_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/ConfigDataTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/ConfigDataTest.java new file mode 100644 index 00000000000..4401c003f1e --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/ConfigDataTest.java @@ -0,0 +1,90 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.config.copy; + +import junit.framework.Assert; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.client.demo.DemoActionableItems; +import org.eclipse.osee.ats.client.demo.DemoTeam; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.config.copy.ConfigData; +import org.eclipse.osee.ats.core.config.ActionableItems; +import org.eclipse.osee.ats.core.config.TeamDefinitions; +import org.eclipse.osee.framework.core.util.XResultData; + +/** + * Test case for {@link ConfigData} + * + * @author Donald G. Dunne + */ +public class ConfigDataTest { + + @org.junit.Test + public void testValidateData() throws Exception { + ConfigData data = new ConfigData(); + XResultData results = new XResultData(false); + data.validateData(results); + Assert.assertTrue(results.isErrors()); + Assert.assertEquals(4, results.getNumErrors()); + + data.setReplaceStr("ReplStr"); + data.setSearchStr("SrchStr"); + IAtsTeamDefinition tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_SW); + data.setTeamDef(tda); + IAtsActionableItem aia = DemoTestUtil.getActionableItem(DemoActionableItems.CIS_Code); + data.setActionableItem(aia); + results.clear(); + data.validateData(results); + Assert.assertFalse(results.isErrors()); + } + + @org.junit.Test + public void testGetSetTeamDefinition() throws Exception { + ConfigData data = new ConfigData(); + IAtsTeamDefinition tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_SW); + data.setTeamDef(tda); + Assert.assertEquals(tda, data.getTeamDef()); + } + + @org.junit.Test + public void testGetAiArts() throws Exception { + ConfigData data = new ConfigData(); + IAtsActionableItem aia = DemoTestUtil.getActionableItem(DemoActionableItems.CIS_Code); + data.setActionableItem(aia); + Assert.assertEquals(aia, data.getActionableItem()); + } + + @org.junit.Test + public void testParentTeamDefinition() throws Exception { + ConfigData data = new ConfigData(); + IAtsTeamDefinition tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_Code); + data.setTeamDef(tda); + Assert.assertEquals(DemoTestUtil.getTeamDef(DemoTeam.CIS_SW), data.getParentTeamDef()); + + tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_SW); + data.setTeamDef(tda); + Assert.assertEquals(TeamDefinitions.getTopTeamDefinition(), data.getParentTeamDef()); + } + + @org.junit.Test + public void testParentActionableItem() throws Exception { + ConfigData data = new ConfigData(); + IAtsTeamDefinition tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_Code); + data.setTeamDef(tda); + Assert.assertEquals(DemoTestUtil.getActionableItem(DemoActionableItems.CIS_CSCI), data.getParentActionableItem()); + + tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_SW); + data.setTeamDef(tda); + Assert.assertEquals(ActionableItems.getTopActionableItem(), data.getParentActionableItem()); + + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsConfigurationOperationTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsConfigurationOperationTest.java new file mode 100644 index 00000000000..f0075beec0f --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsConfigurationOperationTest.java @@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.config.copy; + +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.config.copy.ConfigData; +import org.eclipse.osee.ats.config.copy.CopyAtsConfigurationOperation; +import org.eclipse.osee.ats.core.client.config.AtsObjectsClient; +import org.eclipse.osee.ats.core.config.AtsConfigCache; +import org.eclipse.osee.ats.core.config.TeamDefinitions; +import org.eclipse.osee.ats.health.ValidateAtsDatabase; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.operation.Operations; +import org.eclipse.osee.framework.core.util.XResultData; +import org.eclipse.osee.framework.jdk.core.type.CountingMap; +import org.eclipse.osee.framework.jdk.core.type.HashCollection; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class CopyAtsConfigurationOperationTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanupSimpleTest("CISv2"); + } + + @Test + public void testDoWork() throws OseeCoreException { + ConfigData data = CopyAtsValidationTest.getConfigData(); + + XResultData rd = new XResultData(false); + CopyAtsConfigurationOperation operation = new CopyAtsConfigurationOperation(data, rd); + Operations.executeWork(operation); + Assert.assertFalse(rd.isErrors()); + + Collection teamDefs = TeamDefinitions.getTeamDefinitionsNameStartsWith("CISv2"); + Assert.assertEquals(5, teamDefs.size()); + + Collection ais = getActionableItemsNameStartsWith("CISv2"); + Assert.assertEquals(5, ais.size()); + + HashCollection testNameToResultsMap = new HashCollection(); + CountingMap testNameToTimeSpentMap = new CountingMap(); + Collection aiaArts = AtsObjectsClient.getArtifacts(ais); + ValidateAtsDatabase.testActionableItemToTeamDefinition(aiaArts, testNameToResultsMap, testNameToTimeSpentMap); + Assert.assertEquals(0, testNameToResultsMap.size()); + } + + public static Set getActionableItemsNameStartsWith(String prefix) { + Set artifacts = new HashSet(); + for (IAtsActionableItem aia : AtsConfigCache.instance.get(IAtsActionableItem.class)) { + if (aia.getName().startsWith(prefix)) { + artifacts.add(aia); + } + } + return artifacts; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsUtilTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsUtilTest.java new file mode 100644 index 00000000000..537e0919ff6 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsUtilTest.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.config.copy; + +import junit.framework.Assert; +import org.eclipse.osee.ats.config.copy.ConfigData; +import org.eclipse.osee.ats.config.copy.CopyAtsUtil; + +/** + * Test case for {@link CopyAtsUtil} + * + * @author Donald G. Dunne + */ +public class CopyAtsUtilTest { + + @org.junit.Test + public void testGetConvertedName() throws Exception { + ConfigData data = new ConfigData(); + data.setReplaceStr("ReplStr"); + data.setSearchStr("SrchStr"); + + Assert.assertEquals("ReplStr is the one", CopyAtsUtil.getConvertedName(data, "SrchStr is the one")); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsValidationTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsValidationTest.java new file mode 100644 index 00000000000..96ae1205ffe --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/config/copy/CopyAtsValidationTest.java @@ -0,0 +1,75 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.config.copy; + +import junit.framework.Assert; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.client.demo.DemoActionableItems; +import org.eclipse.osee.ats.client.demo.DemoTeam; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.config.copy.ConfigData; +import org.eclipse.osee.ats.config.copy.CopyAtsValidation; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.util.XResultData; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Test case for {@link CopyAtsValidation} + * + * @author Donald G. Dunne + */ +public class CopyAtsValidationTest { + + @BeforeClass + public static void setup() throws Exception { + DemoTestUtil.setUpTest(); + } + + @Test + public void testValidate() throws OseeCoreException { + + // set name to one that can't be converted + ConfigData data = getConfigData(); + IAtsActionableItem ai = data.getActionableItem(); + String origName = ai.getName(); + ai.setName("CSCI"); + + XResultData results = new XResultData(false); + data.setActionableItem(ai); + CopyAtsValidation validation = new CopyAtsValidation(data, results); + validation.validate(); + Assert.assertTrue(results.isErrors()); + Assert.assertEquals(1, results.getNumErrors()); + + // reset name to normal + ai.setName(origName); + + results.clear(); + validation.validate(); + Assert.assertFalse(results.isErrors()); + Assert.assertEquals(0, results.getNumErrors()); + } + + public static ConfigData getConfigData() throws OseeCoreException { + ConfigData data = new ConfigData(); + data.setReplaceStr("CISv2"); + data.setSearchStr("CIS"); + IAtsTeamDefinition tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_SW); + data.setTeamDef(tda); + IAtsActionableItem aiArt = DemoTestUtil.getActionableItem(DemoActionableItems.CIS_CSCI); + data.setActionableItem(aiArt); + data.setRetainTeamLeads(true); + data.setPersistChanges(true); + return data; + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsCoreClient_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsCoreClient_Suite.java new file mode 100644 index 00000000000..2bf0bccdb1d --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsCoreClient_Suite.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client; + +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.branch.AtsCoreClient_Branch_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.config.AtsCoreClient_Config_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.notify.AtsCoreClient_Notify_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.operation.AtsCoreClient_Operation_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.review.AtsCoreClient_Review_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.task.AtsCoreClient_Task_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.util.AtsCoreClient_Util_Suite; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.AtsCoreClient_Workflow_Suite; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + AtsTestUtilTest.class, + AtsCoreClient_Branch_Suite.class, + AtsCoreClient_Config_Suite.class, + AtsCoreClient_Notify_Suite.class, + AtsCoreClient_Operation_Suite.class, + AtsCoreClient_Review_Suite.class, + AtsCoreClient_Task_Suite.class, + AtsCoreClient_Util_Suite.class, + AtsCoreClient_Workflow_Suite.class}) +public class AtsCoreClient_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Suite.class.getSimpleName()); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtil.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtil.java new file mode 100644 index 00000000000..0722634506e --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtil.java @@ -0,0 +1,754 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client; + +import static org.eclipse.osee.framework.core.enums.DeletionFlag.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.Set; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.api.version.IAtsVersion; +import org.eclipse.osee.ats.api.workdef.IAtsDecisionReviewOption; +import org.eclipse.osee.ats.api.workdef.IAtsWidgetDefinition; +import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition; +import org.eclipse.osee.ats.api.workdef.IStateToken; +import org.eclipse.osee.ats.api.workdef.ReviewBlockType; +import org.eclipse.osee.ats.api.workdef.StateType; +import org.eclipse.osee.ats.client.demo.DemoSawBuilds; +import org.eclipse.osee.ats.core.client.action.ActionArtifact; +import org.eclipse.osee.ats.core.client.action.ActionManager; +import org.eclipse.osee.ats.core.client.actions.ISelectedAtsArtifacts; +import org.eclipse.osee.ats.core.client.branch.AtsBranchManagerCore; +import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; +import org.eclipse.osee.ats.core.client.review.AbstractReviewArtifact; +import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; +import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; +import org.eclipse.osee.ats.core.client.review.DecisionReviewState; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; +import org.eclipse.osee.ats.core.client.review.ReviewManager; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.client.workdef.WorkDefinitionFactory; +import org.eclipse.osee.ats.core.client.workflow.ChangeType; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; +import org.eclipse.osee.ats.core.config.AtsConfigCache; +import org.eclipse.osee.ats.core.config.AtsVersionService; +import org.eclipse.osee.ats.core.workdef.SimpleDecisionReviewOption; +import org.eclipse.osee.ats.core.workflow.StateTypeAdapter; +import org.eclipse.osee.ats.mocks.MockStateDefinition; +import org.eclipse.osee.ats.mocks.MockWidgetDefinition; +import org.eclipse.osee.ats.mocks.MockWorkDefinition; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.eclipse.osee.framework.core.operation.Operations; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.eclipse.osee.framework.jdk.core.util.HumanReadableId; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache; +import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; +import org.eclipse.osee.framework.skynet.core.artifact.PurgeArtifacts; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.framework.skynet.core.utility.Artifacts; +import org.eclipse.osee.support.test.util.TestUtil; + +/** + * Test utility that will create a new work definition, team definition, versions and allow tests to easily + * create/cleanup team workflows, tasks and reviews. + * + * @author Donald G. Dunne + */ +public class AtsTestUtil { + + private static TeamWorkFlowArtifact teamArt = null, teamArt2 = null, teamArt3 = null, teamArt4 = null; + private static IAtsTeamDefinition teamDef = null; + private static IAtsVersion verArt1 = null, verArt2 = null, verArt3 = null, verArt4 = null; + private static DecisionReviewArtifact decRevArt = null; + private static PeerToPeerReviewArtifact peerRevArt = null; + private static TaskArtifact taskArtWf1 = null, taskArtWf2 = null; + private static IAtsActionableItem testAi = null, testAi2 = null, testAi3 = null, testAi4 = null; + private static ActionArtifact actionArt = null, actionArt2 = null, actionArt3 = null, actionArt4 = null; + private static MockStateDefinition analyze, implement, completed, cancelled = null; + private static MockWorkDefinition workDef = null; + public static String WORK_DEF_NAME = "Test_Team _Workflow_Definition"; + private static MockWidgetDefinition estHoursWidgetDef, workPackageWidgetDef; + private static String postFixName; + + public static void validateArtifactCache() throws OseeStateException { + final Collection dirtyArtifacts = ArtifactCache.getDirtyArtifacts(); + if (!dirtyArtifacts.isEmpty()) { + for (Artifact artifact : dirtyArtifacts) { + System.err.println(String.format("Artifact [%s] is dirty [%s]", artifact.toStringWithId(), + Artifacts.getDirtyReport(artifact))); + } + throw new OseeStateException("[%d] Dirty Artifacts found after populate (see console for details)", + dirtyArtifacts.size()); + } + } + + public static void validateObjectsNull() throws OseeStateException { + validateObjectsNull("teamArt", teamArt); + validateObjectsNull("teamArt2", teamArt2); + validateObjectsNull("teamArt3", teamArt3); + validateObjectsNull("teamArt4", teamArt4); + validateObjectsNull("teamDef", teamDef); + validateObjectsNull("verArt1", verArt1); + validateObjectsNull("verArt2", verArt2); + validateObjectsNull("verArt3", verArt3); + validateObjectsNull("verArt4", verArt4); + validateObjectsNull("decRevArt", decRevArt); + validateObjectsNull("peerRevArt", peerRevArt); + validateObjectsNull("taskArt1", taskArtWf1); + validateObjectsNull("taskArt2", taskArtWf2); + validateObjectsNull("testAi", testAi); + validateObjectsNull("testAi2", testAi2); + validateObjectsNull("testAi3", testAi3); + validateObjectsNull("testAi4", testAi4); + validateObjectsNull("actionArt", actionArt); + validateObjectsNull("actionArt2", actionArt2); + validateObjectsNull("actionArt3", actionArt3); + validateObjectsNull("actionArt4", actionArt4); + validateObjectsNull("analyze", analyze); + validateObjectsNull("implement", implement); + validateObjectsNull("completed", completed); + validateObjectsNull("cancelled", cancelled); + validateObjectsNull("workDef", workDef); + validateObjectsNull("estHoursWidgetDef", estHoursWidgetDef); + validateObjectsNull("workPackageWidgetDef", workPackageWidgetDef); + } + + private static void validateObjectsNull(String name, Object obj) throws OseeStateException { + if (obj != null) { + throw new OseeStateException("[%s] objects should be null but is not", name); + } + } + + public static IAtsWorkDefinition getWorkDef() throws OseeCoreException { + ensureLoaded(); + return workDef; + } + + public static MockStateDefinition getAnalyzeStateDef() throws OseeCoreException { + ensureLoaded(); + return analyze; + } + + public static IAtsWidgetDefinition getEstHoursWidgetDef() throws OseeCoreException { + ensureLoaded(); + return estHoursWidgetDef; + } + + public static IAtsWidgetDefinition getWorkPackageWidgetDef() throws OseeCoreException { + ensureLoaded(); + return workPackageWidgetDef; + } + + public static MockStateDefinition getImplementStateDef() throws OseeCoreException { + ensureLoaded(); + return implement; + } + + public static MockStateDefinition getCompletedStateDef() throws OseeCoreException { + ensureLoaded(); + return completed; + } + + public static MockStateDefinition getCancelledStateDef() throws OseeCoreException { + ensureLoaded(); + return cancelled; + } + + private static void ensureLoaded() throws OseeCoreException { + if (workDef == null) { + throw new OseeStateException("Must call cleanAndReset before using this method"); + } + } + + private static void clearCaches() { + if (workDef != null) { + WorkDefinitionFactory.removeWorkDefinition(workDef); + } + analyze = null; + implement = null; + completed = null; + cancelled = null; + workDef = null; + estHoursWidgetDef = null; + workPackageWidgetDef = null; + teamArt = null; + teamArt2 = null; + teamArt3 = null; + teamArt4 = null; + teamDef = null; + taskArtWf1 = null; + taskArtWf2 = null; + testAi = null; + testAi2 = null; + testAi3 = null; + testAi4 = null; + actionArt = null; + actionArt2 = null; + actionArt3 = null; + actionArt4 = null; + verArt1 = null; + verArt2 = null; + verArt3 = null; + verArt4 = null; + decRevArt = null; + peerRevArt = null; + for (IAtsActionableItem aia : AtsConfigCache.instance.get(IAtsActionableItem.class)) { + if (aia.getName().contains("AtsTestUtil")) { + AtsConfigCache.instance.decache(aia); + } + } + for (IAtsTeamDefinition aia : AtsConfigCache.instance.get(IAtsTeamDefinition.class)) { + if (aia.getName().contains("AtsTestUtil")) { + AtsConfigCache.instance.decache(aia); + } + } + for (IAtsVersion ver : AtsConfigCache.instance.get(IAtsVersion.class)) { + if (ver.getName().contains("AtsTestUtil")) { + AtsConfigCache.instance.decache(ver); + } + } + } + + private static String getTitle(String objectName, String postFixName) { + return String.format("%s - %s [%s]", AtsTestUtil.class.getSimpleName(), objectName, postFixName); + } + + /** + * Clear workDef from cache, clear all objects and create new objects with postFixName in titles + */ + private static void reset(String postFixName) throws OseeCoreException { + AtsBulkLoad.reloadConfig(true); + AtsTestUtil.postFixName = postFixName; + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), AtsTestUtil.class.getSimpleName()); + workDef = new MockWorkDefinition(WORK_DEF_NAME); + + analyze = new MockStateDefinition("Analyze"); + analyze.setWorkDefinition(workDef); + analyze.setStateType(StateType.Working); + analyze.setOrdinal(1); + workDef.addState(analyze); + + workDef.setStartState(analyze); + + implement = new MockStateDefinition("Implement"); + implement.setWorkDefinition(workDef); + implement.setStateType(StateType.Working); + implement.setOrdinal(2); + workDef.addState(implement); + + completed = new MockStateDefinition("Completed"); + completed.setWorkDefinition(workDef); + completed.setStateType(StateType.Completed); + completed.setOrdinal(3); + workDef.addState(completed); + + cancelled = new MockStateDefinition("Cancelled"); + cancelled.setWorkDefinition(workDef); + cancelled.setStateType(StateType.Cancelled); + cancelled.setOrdinal(4); + workDef.addState(cancelled); + + analyze.setDefaultToState(implement); + analyze.getToStates().addAll(Arrays.asList(implement, completed, cancelled)); + analyze.getOverrideAttributeValidationStates().addAll(Arrays.asList(cancelled)); + + implement.setDefaultToState(completed); + implement.getToStates().addAll(Arrays.asList(analyze, completed, cancelled)); + implement.getOverrideAttributeValidationStates().addAll(Arrays.asList(cancelled, analyze)); + + completed.setDefaultToState(completed); + completed.getToStates().addAll(Arrays.asList(implement)); + completed.getOverrideAttributeValidationStates().addAll(Arrays.asList(implement)); + + cancelled.getToStates().addAll(Arrays.asList(analyze, implement)); + cancelled.getOverrideAttributeValidationStates().addAll(Arrays.asList(analyze, implement)); + + estHoursWidgetDef = new MockWidgetDefinition(AtsAttributeTypes.EstimatedHours.getUnqualifiedName()); + estHoursWidgetDef.setAttributeName(AtsAttributeTypes.EstimatedHours.getName()); + estHoursWidgetDef.setXWidgetName("XFloatDam"); + + workPackageWidgetDef = new MockWidgetDefinition(AtsAttributeTypes.WorkPackage.getUnqualifiedName()); + workPackageWidgetDef.setAttributeName(AtsAttributeTypes.WorkPackage.getName()); + workPackageWidgetDef.setXWidgetName("XTextDam"); + + WorkDefinitionFactory.addWorkDefinition(workDef); + + testAi = + AtsConfigCache.instance.getActionableItemFactory().createActionableItem(GUID.create(), + getTitle("AI", postFixName)); + testAi.setActive(true); + testAi.setActionable(true); + AtsConfigCache.instance.cache(testAi); + + testAi2 = + AtsConfigCache.instance.getActionableItemFactory().createActionableItem(GUID.create(), + getTitle("AI2", postFixName)); + testAi2.setActive(true); + testAi2.setActionable(true); + AtsConfigCache.instance.cache(testAi2); + + testAi3 = + AtsConfigCache.instance.getActionableItemFactory().createActionableItem(GUID.create(), + getTitle("AI3", postFixName)); + testAi3.setActive(true); + testAi3.setActionable(true); + AtsConfigCache.instance.cache(testAi3); + + testAi4 = + AtsConfigCache.instance.getActionableItemFactory().createActionableItem(GUID.create(), + getTitle("AI4", postFixName)); + testAi4.setActive(true); + testAi4.setActionable(true); + AtsConfigCache.instance.cache(testAi4); + + teamDef = + AtsConfigCache.instance.getTeamDefinitionFactory().createTeamDefinition(GUID.create(), + getTitle("Team Def", postFixName)); + teamDef.setWorkflowDefinition(WORK_DEF_NAME); + teamDef.setActive(true); + teamDef.setTeamUsesVersions(true); + teamDef.getLeads().add(AtsUsersClient.getUser()); + AtsConfigCache.instance.cache(teamDef); + + testAi.setTeamDefinition(teamDef); + testAi2.setTeamDefinition(teamDef); + testAi3.setTeamDefinition(teamDef); + testAi4.setTeamDefinition(teamDef); + + verArt1 = + AtsConfigCache.instance.getVersionFactory().createVersion(getTitle("ver 1.0", postFixName), GUID.create(), + HumanReadableId.generate()); + teamDef.getVersions().add(verArt1); + AtsConfigCache.instance.cache(verArt1); + + verArt2 = AtsConfigCache.instance.getVersionFactory().createVersion(getTitle("ver 2.0", postFixName)); + teamDef.getVersions().add(verArt2); + AtsConfigCache.instance.cache(verArt2); + + verArt3 = AtsConfigCache.instance.getVersionFactory().createVersion(getTitle("ver 3.0", postFixName)); + teamDef.getVersions().add(verArt3); + AtsConfigCache.instance.cache(verArt3); + + verArt4 = AtsConfigCache.instance.getVersionFactory().createVersion(getTitle("ver 4.0", postFixName)); + teamDef.getVersions().add(verArt4); + AtsConfigCache.instance.cache(verArt4); + + actionArt = + ActionManager.createAction(null, getTitle("Team WF", postFixName), "description", ChangeType.Improvement, "1", + false, null, Arrays.asList(testAi), new Date(), AtsUsersClient.getUser(), null, transaction); + + teamArt = actionArt.getFirstTeam(); + + teamArt.persist(transaction); + actionArt.persist(transaction); + transaction.execute(); + } + + public static TaskArtifact getOrCreateTaskOffTeamWf1() throws OseeCoreException { + ensureLoaded(); + if (taskArtWf1 == null) { + taskArtWf1 = teamArt.createNewTask(getTitle("Task", postFixName), new Date(), AtsUsersClient.getUser()); + taskArtWf1.setSoleAttributeValue(AtsAttributeTypes.RelatedToState, teamArt.getCurrentStateName()); + taskArtWf1.persist("AtsTestUtil - addTaskWf1"); + } + return taskArtWf1; + } + + public static TaskArtifact getOrCreateTaskOffTeamWf2() throws OseeCoreException { + ensureLoaded(); + if (taskArtWf2 == null) { + taskArtWf2 = teamArt.createNewTask(getTitle("Task", postFixName), new Date(), AtsUsersClient.getUser()); + taskArtWf2.setSoleAttributeValue(AtsAttributeTypes.RelatedToState, teamArt.getCurrentStateName()); + taskArtWf2.persist("AtsTestUtil - addTaskWf2"); + } + return taskArtWf2; + } + + public static DecisionReviewArtifact getOrCreateDecisionReview(ReviewBlockType reviewBlockType, AtsTestUtilState relatedToState) throws OseeCoreException { + ensureLoaded(); + if (decRevArt == null) { + List options = new ArrayList(); + options.add(new SimpleDecisionReviewOption(DecisionReviewState.Completed.getName(), false, null)); + options.add(new SimpleDecisionReviewOption(DecisionReviewState.Followup.getName(), true, + Arrays.asList(AtsUsersClient.getUser().getUserId()))); + decRevArt = + DecisionReviewManager.createNewDecisionReview(teamArt, reviewBlockType, + AtsTestUtil.class.getSimpleName() + " Test Decision Review", relatedToState.getName(), + "Decision Review", options, Arrays.asList(AtsUsersClient.getUser()), new Date(), + AtsUsersClient.getUser()); + } + return decRevArt; + } + + public static TeamWorkFlowArtifact getTeamWf() throws OseeCoreException { + ensureLoaded(); + return teamArt; + } + + public static IAtsActionableItem getTestAi() throws OseeCoreException { + ensureLoaded(); + return testAi; + + } + + public static IAtsTeamDefinition getTestTeamDef() throws OseeCoreException { + ensureLoaded(); + return teamDef; + } + + /** + * All team defs, AIs, action and workflows will be deleted and new ones created with "name" as part of object + * names/titles. In addition, ArtifactCache will validate that it is not dirty or display errors if it is. + * + * @throws OseeCoreException + */ + public static void cleanupAndReset(String name) throws OseeCoreException { + cleanup(); + reset(name); + } + + private static void delete(SkynetTransaction transaction, Artifact artifact) throws OseeCoreException { + if (artifact != null) { + artifact.deleteAndPersist(transaction); + } + } + + private static void deleteTeamWf(TeamWorkFlowArtifact teamWfToDelete) throws OseeCoreException { + if (teamWfToDelete != null) { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), + AtsTestUtil.class.getSimpleName() + " - cleanup deleteTeamWf"); + + if (teamWfToDelete.getWorkingBranch() != null) { + Result result = AtsBranchManagerCore.deleteWorkingBranch(teamWfToDelete, true); + if (result.isFalse()) { + throw new OseeStateException("Error deleting working branch [%s]", result.getText()); + } + } + for (TaskArtifact taskArt : teamWfToDelete.getTaskArtifacts()) { + taskArt.deleteAndPersist(transaction); + } + for (AbstractReviewArtifact revArt : ReviewManager.getReviews(teamWfToDelete)) { + revArt.deleteAndPersist(transaction); + } + + delete(transaction, teamWfToDelete); + transaction.execute(); + } + } + + /** + * Cleanup all artifacts and confirm that ArtifactCache has no dirty artifacts. Should be called at beginning at end + * of each test. + */ + public static void cleanup() throws OseeCoreException { + SkynetTransaction transaction1 = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), + AtsTestUtil.class.getSimpleName() + " - cleanup 1"); + delete(transaction1, peerRevArt); + delete(transaction1, decRevArt); + delete(transaction1, taskArtWf1); + delete(transaction1, taskArtWf2); + delete(transaction1, actionArt); + delete(transaction1, actionArt2); + delete(transaction1, actionArt3); + delete(transaction1, actionArt4); + transaction1.execute(); + + deleteTeamWf(teamArt); + deleteTeamWf(teamArt2); + deleteTeamWf(teamArt3); + deleteTeamWf(teamArt4); + + clearCaches(); + + // validate that there are no dirty artifacts in cache + AtsTestUtil.validateArtifactCache(); + } + + public static IAtsVersion getVerArt1() { + return verArt1; + } + + public static IAtsVersion getVerArt2() { + return verArt2; + } + + public static IAtsVersion getVerArt3() { + return verArt3; + } + + public static IAtsVersion getVerArt4() { + return verArt4; + } + + /** + * Deletes any artifact with name that starts with title + */ + public static void cleanupSimpleTest(String title) throws Exception { + cleanupSimpleTest(Arrays.asList(title)); + } + + /** + * Deletes all artifacts with names that start with any title given + */ + public static void cleanupSimpleTest(Collection titles) throws Exception { + List artifacts = new ArrayList(); + for (String title : titles) { + artifacts.addAll(ArtifactQuery.getArtifactListFromName(title, AtsUtilCore.getAtsBranch(), EXCLUDE_DELETED, + QueryOptions.CONTAINS_MATCH_OPTIONS)); + } + Operations.executeWorkAndCheckStatus(new PurgeArtifacts(artifacts)); + TestUtil.sleep(4000); + } + + public static Result transitionTo(AtsTestUtilState atsTestUtilState, IAtsUser user, SkynetTransaction transaction, TransitionOption... transitionOptions) { + if (atsTestUtilState == AtsTestUtilState.Analyze && teamArt.isInState(AtsTestUtilState.Analyze)) { + return Result.TrueResult; + } + + if (atsTestUtilState == AtsTestUtilState.Cancelled) { + Result result = transitionToState(teamArt, AtsTestUtilState.Cancelled, user, transaction, transitionOptions); + if (result.isFalse()) { + return result; + } + return Result.TrueResult; + } + + Result result = transitionToState(teamArt, AtsTestUtilState.Implement, user, transaction, transitionOptions); + if (result.isFalse()) { + return result; + } + + if (atsTestUtilState == AtsTestUtilState.Implement) { + return Result.TrueResult; + } + + if (atsTestUtilState == AtsTestUtilState.Completed) { + result = transitionToState(teamArt, AtsTestUtilState.Completed, user, transaction, transitionOptions); + if (result.isFalse()) { + return result; + } + + } + return Result.TrueResult; + + } + + private static Result transitionToState(TeamWorkFlowArtifact teamArt, IStateToken toState, IAtsUser user, SkynetTransaction transaction, TransitionOption... transitionOptions) { + TransitionHelper helper = + new TransitionHelper("Transition to " + toState.getName(), Arrays.asList(teamArt), toState.getName(), + Arrays.asList(user), null, transitionOptions); + TransitionManager transitionMgr = new TransitionManager(helper, transaction); + TransitionResults results = transitionMgr.handleAll(); + if (results.isEmpty()) { + return Result.TrueResult; + } + return new Result("Transition Error %s", results.toString()); + } + + public static class AtsTestUtilState extends StateTypeAdapter { + public static AtsTestUtilState Analyze = new AtsTestUtilState("Analyze", StateType.Working); + public static AtsTestUtilState Implement = new AtsTestUtilState("Implement", StateType.Working); + public static AtsTestUtilState Completed = new AtsTestUtilState("Completed", StateType.Completed); + public static AtsTestUtilState Cancelled = new AtsTestUtilState("Cancelled", StateType.Cancelled); + + private AtsTestUtilState(String pageName, StateType StateType) { + super(AtsTestUtilState.class, pageName, StateType); + } + + public static AtsTestUtilState valueOf(String pageName) { + return StateTypeAdapter.valueOfPage(AtsTestUtilState.class, pageName); + } + + public static List values() { + return StateTypeAdapter.pages(AtsTestUtilState.class); + } + } + + public static PeerToPeerReviewArtifact getOrCreatePeerReview(ReviewBlockType reviewBlockType, AtsTestUtilState relatedToState, SkynetTransaction transaction) throws OseeCoreException { + ensureLoaded(); + if (peerRevArt == null) { + peerRevArt = + PeerToPeerReviewManager.createNewPeerToPeerReview(teamArt, + AtsTestUtil.class.getSimpleName() + " Test Peer Review", relatedToState.getName(), transaction); + } + return peerRevArt; + } + + public static TeamWorkFlowArtifact getTeamWf2() throws OseeCoreException { + ensureLoaded(); + if (teamArt2 == null) { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), AtsTestUtil.class.getSimpleName()); + actionArt2 = + ActionManager.createAction(null, getTitle("Team WF2", postFixName), "description", ChangeType.Improvement, + "1", false, null, Arrays.asList(testAi2), new Date(), AtsUsersClient.getUser(), null, transaction); + + teamArt2 = actionArt2.getFirstTeam(); + transaction.execute(); + } + return teamArt2; + } + + public static IAtsActionableItem getTestAi2() throws OseeCoreException { + ensureLoaded(); + return testAi2; + } + + public static TeamWorkFlowArtifact getTeamWf3() throws OseeCoreException { + ensureLoaded(); + if (teamArt3 == null) { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), AtsTestUtil.class.getSimpleName()); + actionArt3 = + ActionManager.createAction(null, getTitle("Team WF3", postFixName), "description", ChangeType.Improvement, + "1", false, null, Arrays.asList(testAi3), new Date(), AtsUsersClient.getUser(), null, transaction); + + teamArt3 = actionArt3.getFirstTeam(); + transaction.execute(); + } + return teamArt3; + } + + public static IAtsActionableItem getTestAi3() throws OseeCoreException { + ensureLoaded(); + return testAi3; + } + + public static TeamWorkFlowArtifact getTeamWf4() throws OseeCoreException { + ensureLoaded(); + if (teamArt4 == null) { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), AtsTestUtil.class.getSimpleName()); + actionArt4 = + ActionManager.createAction(null, getTitle("Team WF4", postFixName), "description", ChangeType.Improvement, + "1", false, null, Arrays.asList(testAi4), new Date(), AtsUsersClient.getUser(), null, transaction); + + teamArt4 = actionArt4.getFirstTeam(); + AtsVersionService.get().setTargetedVersion(teamArt4, verArt4); + transaction.execute(); + } + return teamArt4; + } + + public static IAtsActionableItem getTestAi4() throws OseeCoreException { + ensureLoaded(); + return testAi4; + } + + /** + * @return 2nd Action with single Team Workflow not tied to other ActionArt or TeamWf + */ + public static ActionArtifact getActionArt2() throws OseeCoreException { + ensureLoaded(); + if (actionArt2 == null) { + getTeamWf2(); + } + return actionArt2; + } + + /** + * @return 3rd Action with single Team Workflow not tied to other ActionArt or TeamWf + */ + public static ActionArtifact getActionArt3() throws OseeCoreException { + ensureLoaded(); + if (actionArt3 == null) { + getTeamWf3(); + } + return actionArt3; + } + + /** + * @return 4rd Action with single Team Workflow not tied to other ActionArt or TeamWf + */ + public static ActionArtifact getActionArt4() throws OseeCoreException { + ensureLoaded(); + if (actionArt4 == null) { + getTeamWf4(); + } + return actionArt4; + } + + public static ActionArtifact getActionArt() throws OseeCoreException { + ensureLoaded(); + return actionArt; + } + + public static ISelectedAtsArtifacts getSelectedAtsArtifactsForTeamWf() { + return new ISelectedAtsArtifacts() { + + @Override + public Set getSelectedSMAArtifacts() throws OseeCoreException { + return Collections.singleton(getTeamWf()); + } + + @Override + public List getSelectedAtsArtifacts() throws OseeCoreException { + return Arrays.asList((Artifact) getTeamWf()); + } + + @Override + public List getSelectedTaskArtifacts() { + return Collections.emptyList(); + } + + }; + } + + public static Result createWorkingBranchFromTeamWf() throws OseeCoreException { + configureVer1ForWorkingBranch(); + Result result = AtsBranchManagerCore.createWorkingBranch_Validate(teamArt); + if (result.isFalse()) { + return result; + } + AtsBranchManagerCore.createWorkingBranch_Create(teamArt, true); + teamArt.getWorkingBranchForceCacheUpdate(); + return Result.TrueResult; + } + + public static void configureVer1ForWorkingBranch() throws OseeCoreException { + IAtsVersion verArt = getVerArt1(); + verArt.setAllowCreateBranch(true); + verArt.setAllowCommitBranch(true); + verArt.setBaselineBranchGuid(BranchManager.getBranch(DemoSawBuilds.SAW_Bld_1).getGuid()); + if (!AtsVersionService.get().hasTargetedVersion(getTeamWf())) { + AtsVersionService.get().setTargetedVersion(getTeamWf(), getVerArt1()); + getTeamWf().persist(AtsTestUtil.class.getSimpleName() + "-SetTeamWfTargetedVer1"); + } + } + + public static String getName() { + return postFixName; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtilTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtilTest.java new file mode 100644 index 00000000000..917ca81534e --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/AtsTestUtilTest.java @@ -0,0 +1,190 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client; + +import junit.framework.Assert; +import org.eclipse.osee.ats.api.workdef.ReviewBlockType; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.ats.core.config.AtsVersionService; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.eclipse.osee.framework.core.model.Branch; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; + +/** + * Test unit for {@link AtsTestUtil} + * + * @author Donald G. Dunne + */ +public class AtsTestUtilTest extends AtsTestUtil { + + @org.junit.After + public void validateCleanup() throws OseeCoreException { + AtsTestUtil.validateObjectsNull(); + } + + @org.junit.Test + public void testCleanupAndReset() throws OseeCoreException { + boolean exceptionThrown = false; + try { + Assert.assertNull(AtsTestUtil.getWorkDef()); + } catch (OseeStateException ex) { + Assert.assertEquals(ex.getMessage(), "Must call cleanAndReset before using this method"); + exceptionThrown = true; + } + Assert.assertTrue("Exeception should have been thrown", exceptionThrown); + + AtsTestUtil.cleanupAndReset("AtsTestUtilTest"); + + AtsTestUtil.validateArtifactCache(); + + Assert.assertNotNull(AtsTestUtil.getTeamWf()); + Assert.assertNotNull(AtsTestUtil.getTeamWf().getStateDefinition()); + + AtsTestUtil.cleanup(); + + AtsTestUtil.validateArtifactCache(); + } + + @org.junit.Test + public void testCreateAndCleanupWithBranch() throws Exception { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName() + "-testCleanupAndResetWithBranch"); + Result result = AtsTestUtil.createWorkingBranchFromTeamWf(); + Assert.assertTrue(result.getText(), result.isTrue()); + Thread.sleep(2000); + Branch branch = AtsTestUtil.getTeamWf().getWorkingBranch(); + Assert.assertNotNull(branch); + AtsTestUtil.cleanup(); + Assert.assertTrue(branch.isDeleted()); + } + + @org.junit.Test + public void testGetTeamWf2() throws OseeCoreException { + + AtsTestUtil.cleanupAndReset("AtsTestUtilTest.testGetTeamWf2"); + AtsTestUtil.validateArtifactCache(); + + Assert.assertNotNull(AtsTestUtil.getTeamWf2()); + Assert.assertNotNull(AtsTestUtil.getTeamWf2().getStateDefinition()); + Assert.assertNotSame(AtsTestUtil.getTeamWf(), AtsTestUtil.getTeamWf2()); + Assert.assertNotSame(AtsTestUtil.getActionArt(), AtsTestUtil.getActionArt2()); + Assert.assertNotSame(AtsTestUtil.getTeamWf().getActionableItemsDam().getActionableItems().iterator().next(), + AtsTestUtil.getTeamWf2().getActionableItemsDam().getActionableItems().iterator().next()); + + AtsTestUtil.cleanup(); + + AtsTestUtil.validateArtifactCache(); + } + + @org.junit.Test + public void testGetTeamWf4() throws OseeCoreException { + + AtsTestUtil.cleanupAndReset("AtsTestUtilTest.testGetTeamWf2"); + AtsTestUtil.validateArtifactCache(); + + Assert.assertNotNull(AtsTestUtil.getTeamWf4()); + Assert.assertNotNull(AtsTestUtil.getTeamWf4().getStateDefinition()); + Assert.assertNotSame(AtsTestUtil.getTeamWf(), AtsTestUtil.getTeamWf4()); + Assert.assertNotSame(AtsTestUtil.getActionArt(), AtsTestUtil.getActionArt4()); + Assert.assertNotSame(AtsTestUtil.getTeamWf().getActionableItemsDam().getActionableItems().iterator().next(), + AtsTestUtil.getTeamWf4().getActionableItemsDam().getActionableItems().iterator().next()); + Assert.assertEquals(AtsVersionService.get().getTargetedVersion(AtsTestUtil.getTeamWf4()), + AtsTestUtil.getVerArt4()); + + AtsTestUtil.cleanup(); + + AtsTestUtil.validateArtifactCache(); + } + + @org.junit.Test + public void testGetDecisionReview() throws OseeCoreException { + + AtsTestUtil.cleanupAndReset("AtsTestUtilTest.testGetDecisionReview"); + AtsTestUtil.validateArtifactCache(); + + Assert.assertNotNull(AtsTestUtil.getOrCreateDecisionReview(ReviewBlockType.Commit, AtsTestUtilState.Analyze)); + + AtsTestUtil.cleanup(); + + AtsTestUtil.validateArtifactCache(); + } + + @org.junit.Test + public void testGetPeerReview() throws OseeCoreException { + + AtsTestUtil.cleanupAndReset("AtsTestUtilTest.testGetPeerReview"); + AtsTestUtil.validateArtifactCache(); + + Assert.assertNotNull(AtsTestUtil.getOrCreatePeerReview(ReviewBlockType.Commit, AtsTestUtilState.Analyze, null)); + + AtsTestUtil.cleanup(); + + AtsTestUtil.validateArtifactCache(); + } + + @org.junit.Test + public void testTransitionTo() throws OseeCoreException { + + AtsTestUtil.cleanupAndReset("AtsTestUtilTest"); + + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Analyze.getName()); + + SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), "test"); + + Result result = + AtsTestUtil.transitionTo(AtsTestUtilState.Implement, AtsUsersClient.getUser(), transaction, + TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); + Assert.assertEquals(Result.TrueResult, result); + Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Implement.getName()); + + result = + AtsTestUtil.transitionTo(AtsTestUtilState.Completed, AtsUsersClient.getUser(), transaction, + TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); + Assert.assertEquals(Result.TrueResult, result); + Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Completed.getName()); + + teamArt.reloadAttributesAndRelations(); + + transaction.execute(); + + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testTransitionToCancelled() throws OseeCoreException { + + AtsTestUtil.cleanupAndReset("AtsTestUtilTest"); + + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Analyze.getName()); + + SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), "test"); + + Result result = + AtsTestUtil.transitionTo(AtsTestUtilState.Cancelled, AtsUsersClient.getUser(), transaction, + TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); + Assert.assertEquals(Result.TrueResult, result); + Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Cancelled.getName()); + + teamArt.reloadAttributesAndRelations(); + + transaction.execute(); + + AtsTestUtil.cleanup(); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsBranchManagerCoreTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsBranchManagerCoreTest.java new file mode 100644 index 00000000000..e0887019fad --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsBranchManagerCoreTest.java @@ -0,0 +1,101 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.branch; + +import static org.junit.Assert.assertTrue; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashSet; +import org.eclipse.osee.ats.api.commit.ICommitConfigArtifact; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.version.IAtsVersion; +import org.eclipse.osee.ats.client.demo.DemoSawBuilds; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.branch.AtsBranchManagerCore; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.config.AtsVersionService; +import org.eclipse.osee.framework.core.enums.TransactionDetailsType; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.model.Branch; +import org.eclipse.osee.framework.core.model.TransactionRecord; +import org.eclipse.osee.framework.core.model.cache.BranchCache; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Test unit for {@AtsBranchManagerCore} + * + * @author Shawn F. Cook + */ +public class AtsBranchManagerCoreTest { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + TestUtil.setIsInTest(true); + AtsTestUtil.cleanupAndReset("AtsBranchManagerCoreTest"); + } + + @AfterClass + public static void tearDown() throws Exception { + AtsTestUtil.cleanup(); + OseeProperties.setIsInTest(false); + TestUtil.setIsInTest(false); + } + + @Test + public void testGetCommitTransactionsAndConfigItemsForTeamWf() throws OseeCoreException { + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + + //Test Version-based Team Arts + IAtsVersion verArt1 = AtsTestUtil.getVerArt1(); + IAtsVersion verArt2 = AtsTestUtil.getVerArt2(); + verArt1.getParallelVersions().add(verArt2); + AtsVersionService.get().setTargetedVersion(teamArt, verArt1); + Collection commitObjs = AtsBranchManagerCore.getCommitTransactionsAndConfigItemsForTeamWf(teamArt); + assertTrue("commitObjs has wrong size", commitObjs.size() == 2); + assertTrue("commitObjs is missing verArt1", commitObjs.contains(verArt1)); + assertTrue("commitObjs is missing verArt2", commitObjs.contains(verArt2)); + + //Test Team Def-base Team Arts + IAtsTeamDefinition teamDef = teamArt.getTeamDefinition(); + teamDef.setTeamUsesVersions(false); + teamDef.setBaselineBranchGuid(DemoSawBuilds.SAW_Bld_1.getGuid()); + commitObjs = AtsBranchManagerCore.getCommitTransactionsAndConfigItemsForTeamWf(teamArt); + assertTrue("commitObjs has wrong size", commitObjs.size() == 1); + assertTrue("commitObjs is missing teamDef", commitObjs.contains(teamDef)); + + //Test TxRecords + Branch branch = BranchManager.getBranch(DemoSawBuilds.SAW_Bld_1); + BranchCache branchCache = BranchManager.getCache(); + TransactionRecord txRecord = + new TransactionRecord(1234, branch.getId(), "comment", new Date(), UserManager.getUser().getArtId(), + UserManager.getUser().getArtId(), TransactionDetailsType.Baselined, branchCache); + Collection commitTxs = new ArrayList(); + Collection configArtSet = new HashSet(); + commitTxs.add(txRecord); + commitObjs = AtsBranchManagerCore.combineCommitTransactionsAndConfigItems(configArtSet, commitTxs); + assertTrue("commitObjs has wrong size", commitObjs.size() == 1); + + Collection configArtifactsConfiguredToCommitTo = + AtsBranchManagerCore.getConfigArtifactsConfiguredToCommitTo(teamArt); + configArtSet.add(configArtifactsConfiguredToCommitTo.iterator().next()); + commitObjs = AtsBranchManagerCore.combineCommitTransactionsAndConfigItems(configArtSet, commitTxs); + assertTrue("commitObjs has wrong size", commitObjs.size() == 1); + assertTrue("commitObjs has wrong object", commitObjs.contains(teamDef)); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsCoreClient_Branch_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsCoreClient_Branch_Suite.java new file mode 100644 index 00000000000..42a6798db6f --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/branch/AtsCoreClient_Branch_Suite.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.branch; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsBranchManagerCoreTest.class}) +public class AtsCoreClient_Branch_Suite { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Branch_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Branch_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/AtsActionableItemToTeamDefinitionTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/AtsActionableItemToTeamDefinitionTest.java new file mode 100644 index 00000000000..22915db99cf --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/AtsActionableItemToTeamDefinitionTest.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.config; + +import static org.junit.Assert.assertFalse; +import java.util.Arrays; +import java.util.Collection; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; +import org.eclipse.osee.ats.core.config.AtsConfigCache; +import org.eclipse.osee.ats.core.config.TeamDefinitions; + +/** + * @author Donald G. Dunne + */ +public class AtsActionableItemToTeamDefinitionTest { + + @org.junit.Test + public void testAtsActionableItemToTeamDefinition() throws Exception { + boolean error = false; + StringBuffer sb = new StringBuffer("Actionable Actionable Items with no Team Def associated:\n"); + AtsBulkLoad.reloadConfig(true); + for (IAtsActionableItem aia : AtsConfigCache.instance.get(IAtsActionableItem.class)) { + if (aia.isActionable()) { + Collection impactedTeamDefs = TeamDefinitions.getImpactedTeamDefs(Arrays.asList(aia)); + if (impactedTeamDefs.isEmpty()) { + System.out.println(" "); + sb.append("[" + aia + "]"); + AtsConfigCache.instance.get(IAtsTeamDefinition.class); + error = true; + } + } + } + assertFalse(sb.toString(), error); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/AtsCoreClient_Config_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/AtsCoreClient_Config_Suite.java new file mode 100644 index 00000000000..37ade7ab63f --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/AtsCoreClient_Config_Suite.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.config; + +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.config.store.AtsCoreClient_Store_Suite; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsActionableItemToTeamDefinitionTest.class, AtsCoreClient_Store_Suite.class}) +public class AtsCoreClient_Config_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Config_Suite.class.getSimpleName()); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Config_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/store/AtsCoreClient_Store_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/store/AtsCoreClient_Store_Suite.java new file mode 100644 index 00000000000..99ec62cc89c --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/store/AtsCoreClient_Store_Suite.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.config.store; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({VersionArtifactStoreTest.class}) +public class AtsCoreClient_Store_Suite { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Store_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Store_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/store/VersionArtifactStoreTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/store/VersionArtifactStoreTest.java new file mode 100644 index 00000000000..440337ad0c0 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/config/store/VersionArtifactStoreTest.java @@ -0,0 +1,145 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.config.store; + +import java.util.Arrays; +import java.util.Date; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.api.version.IAtsVersion; +import org.eclipse.osee.ats.core.client.config.store.VersionArtifactStore; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.config.AtsConfigCache; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +public class VersionArtifactStoreTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws OseeCoreException { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranchToken(), + VersionArtifactStoreTest.class.getSimpleName() + " - cleanup"); + for (String name : Arrays.asList("VersionArtifactStoreTest - version 1", "VersionArtifactStoreTest - version 2", + "VersionArtifactStoreTest - version 3")) { + for (Artifact art : ArtifactQuery.getArtifactListFromTypeAndName(AtsArtifactTypes.Version, name, + AtsUtilCore.getAtsBranchToken())) { + art.deleteAndPersist(transaction); + } + } + transaction.execute(); + } + + @Test + public void testLoadFromArtifact() throws OseeCoreException { + AtsConfigCache cache = new AtsConfigCache(); + + Artifact verArt = ArtifactTypeManager.addArtifact(AtsArtifactTypes.Version, AtsUtilCore.getAtsBranchToken()); + verArt.setName("VersionArtifactStoreTest - version 1"); + verArt.persist(getClass().getSimpleName()); + + VersionArtifactStore store = new VersionArtifactStore(verArt, cache); + IAtsVersion version = store.getVersion(); + Assert.assertEquals("VersionArtifactStoreTest - version 1", version.getName()); + Assert.assertFalse(version.isAllowCommitBranch()); + Assert.assertFalse(version.isAllowCreateBranch()); + Assert.assertFalse(version.isLocked()); + Assert.assertFalse(version.isReleased()); + Assert.assertFalse(version.isNextVersion()); + Assert.assertEquals("", version.getBaslineBranchGuid()); + Assert.assertEquals("", version.getDescription()); + Assert.assertEquals("", version.getFullName()); + Assert.assertNull(version.getReleaseDate()); + + verArt.setSoleAttributeValue(AtsAttributeTypes.AllowCommitBranch, true); + verArt.setSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, true); + verArt.setSoleAttributeValue(AtsAttributeTypes.NextVersion, true); + verArt.setSoleAttributeValue(AtsAttributeTypes.Released, true); + verArt.setSoleAttributeValue(AtsAttributeTypes.VersionLocked, true); + verArt.setSoleAttributeValue(AtsAttributeTypes.BaselineBranchGuid, "guid1234"); + verArt.setSoleAttributeValue(AtsAttributeTypes.Description, "description"); + verArt.setSoleAttributeValue(AtsAttributeTypes.FullName, "this is full name"); + Date releaseDate = new Date(); + verArt.setSoleAttributeValue(AtsAttributeTypes.ReleaseDate, releaseDate); + verArt.persist(getClass().getSimpleName()); + + store = new VersionArtifactStore(verArt, cache); + version = store.getVersion(); + Assert.assertEquals("VersionArtifactStoreTest - version 1", version.getName()); + Assert.assertTrue(version.isAllowCommitBranch()); + Assert.assertTrue(version.isAllowCreateBranch()); + Assert.assertTrue(version.isLocked()); + Assert.assertTrue(version.isReleased()); + Assert.assertTrue(version.isNextVersion()); + Assert.assertEquals("guid1234", version.getBaslineBranchGuid()); + Assert.assertEquals("description", version.getDescription()); + Assert.assertEquals("this is full name", version.getFullName()); + Assert.assertEquals(releaseDate, version.getReleaseDate()); + } + + @Test + public void testSaveToArtifact() throws OseeCoreException { + AtsConfigCache cache = new AtsConfigCache(); + + Artifact verArt = ArtifactTypeManager.addArtifact(AtsArtifactTypes.Version, AtsUtilCore.getAtsBranchToken()); + verArt.setName("VersionArtifactStoreTest - version 2"); + + Artifact teamDef = + ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.TeamDefinition, "SAW SW", + AtsUtilCore.getAtsBranchToken()); + verArt.addRelation(AtsRelationTypes.TeamDefinitionToVersion_TeamDefinition, teamDef); + verArt.persist(getClass().getSimpleName()); + + VersionArtifactStore store = new VersionArtifactStore(verArt, cache); + IAtsVersion version = store.getVersion(); + + version.setAllowCommitBranch(true); + version.setAllowCreateBranch(true); + version.setName("VersionArtifactStoreTest - version 3"); + version.setNextVersion(true); + version.setLocked(true); + Date releaseDate = new Date(); + version.setReleaseDate(releaseDate); + version.setVersionLocked(true); + version.setBaselineBranchGuid("guid3456"); + version.setDescription("description"); + version.setFullName("full name"); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranchToken(), + VersionArtifactStoreTest.class.getSimpleName() + " - testSaveToArtifact"); + store.saveToArtifact(transaction); + transaction.execute(); + + store = new VersionArtifactStore(version); + Artifact saveArt = store.getArtifact(); + Assert.assertEquals("VersionArtifactStoreTest - version 3", version.getName()); + Assert.assertTrue(saveArt.getSoleAttributeValue(AtsAttributeTypes.AllowCommitBranch, true)); + Assert.assertTrue(saveArt.getSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, true)); + Assert.assertTrue(saveArt.getSoleAttributeValue(AtsAttributeTypes.VersionLocked, true)); + Assert.assertTrue(saveArt.getSoleAttributeValue(AtsAttributeTypes.Released, true)); + Assert.assertTrue(saveArt.getSoleAttributeValue(AtsAttributeTypes.NextVersion, true)); + Assert.assertEquals("guid3456", saveArt.getSoleAttributeValue(AtsAttributeTypes.BaselineBranchGuid, "")); + Assert.assertEquals("description", saveArt.getSoleAttributeValue(AtsAttributeTypes.Description, "")); + Assert.assertEquals("full name", saveArt.getSoleAttributeValue(AtsAttributeTypes.FullName, "")); + Assert.assertEquals(releaseDate, saveArt.getSoleAttributeValue(AtsAttributeTypes.ReleaseDate, null)); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsCoreClient_Notify_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsCoreClient_Notify_Suite.java new file mode 100644 index 00000000000..17458d0e4a2 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsCoreClient_Notify_Suite.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.notify; + +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsNotifyUsersTest.class, AtsNotificationManagerTest.class}) +public class AtsCoreClient_Notify_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Notify_Suite.class.getSimpleName()); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Notify_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotificationManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotificationManagerTest.java new file mode 100644 index 00000000000..43522021a20 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotificationManagerTest.java @@ -0,0 +1,602 @@ +/* + * Created on Jul 5, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.notify; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.api.workdef.ReviewBlockType; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil.AtsTestUtilState; +import org.eclipse.osee.ats.core.client.action.ActionArtifact; +import org.eclipse.osee.ats.core.client.action.ActionManager; +import org.eclipse.osee.ats.core.client.notify.AtsNotificationManager; +import org.eclipse.osee.ats.core.client.notify.AtsNotificationManager.ConfigurationProvider; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewState; +import org.eclipse.osee.ats.core.client.review.role.Role; +import org.eclipse.osee.ats.core.client.review.role.UserRole; +import org.eclipse.osee.ats.core.client.review.role.UserRoleManager; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.client.workflow.ChangeType; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.skynet.core.User; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.framework.skynet.core.utility.INotificationManager; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * Test unit for (@link AtsNotificationManager} + * + * @author Donald G. Dunne + */ +public class AtsNotificationManagerTest { + + @BeforeClass + public static void setup() { + AtsUtilCore.setEmailEnabled(true); + } + + @AfterClass + public static void cleanup() throws OseeCoreException { + User user = UserManager.getUser(DemoUsers.Alex_Kay); + user.setSoleAttributeValue(CoreAttributeTypes.Email, ""); + user.deleteRelations(AtsRelationTypes.SubscribedUser_Artifact); + user.persist(AtsNotificationManagerTest.class.getSimpleName()); + + AtsNotificationManager.setInTest(true); + AtsTestUtil.cleanup(); + AtsUtilCore.setEmailEnabled(false); + } + + @org.junit.Test + public void testOriginatorNotification() throws OseeCoreException { + + //--------------------------------------------------- + // Test that notifications sent if originator changes + //--------------------------------------------------- + + // create a test notification manager + MockNotificationManager mgr = new MockNotificationManager(); + // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) + MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + // create new action which should reset originator cache in notification manager + AtsTestUtil.cleanupAndReset(AtsNotificationManagerTest.class.getSimpleName()); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + + // verify no notification events yet + Assert.assertEquals(0, mgr.getNotificationEvents().size()); + + // set valid email for Alex_Kay + UserManager.getUser(DemoUsers.Alex_Kay).setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); + UserManager.getUser(DemoUsers.Alex_Kay).persist(getClass().getSimpleName()); + + // reset the originator + teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), false, new Date()); + // persist will kick event which will log the notification event and send + teamArt.persist("Change originator"); + + // verify notification exists now + Assert.assertEquals(1, mgr.getNotificationEvents().size()); + Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( + "You have been set as the originator")); + + //--------------------------------------------------- + // Test that NO notifications sent if in test mode + //--------------------------------------------------- + + // reset the originator back to joe smith + teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith), false, new Date()); + // persist will kick event which will log the notification event and send + teamArt.persist("Change originator"); + AtsNotificationManager.setInTest(true); + mgr.clear(); + + // verify no notification events yet + Assert.assertEquals(0, mgr.getNotificationEvents().size()); + + // set valid email for Alex_Kay + UserManager.getUser(DemoUsers.Alex_Kay).setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); + UserManager.getUser(DemoUsers.Alex_Kay).persist(getClass().getSimpleName()); + + // reset the originator + teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), false, new Date()); + // persist will kick event which will log the notification event and send + teamArt.persist("Change originator"); + + // verify NO notification exists now + Assert.assertEquals(0, mgr.getNotificationEvents().size()); + + //--------------------------------------------------- + // Test that NO notifications sent if user email is invalid + //--------------------------------------------------- + + // reset the originator back to joe smith + teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith), false, new Date()); + // persist will kick event which will log the notification event and send + teamArt.persist("Change originator"); + AtsNotificationManager.setInTest(true); + mgr.clear(); + + // verify no notification events yet + Assert.assertEquals(0, mgr.getNotificationEvents().size()); + + // set invalid email for Alex_Kay + UserManager.getUser(DemoUsers.Alex_Kay).deleteAttributes(CoreAttributeTypes.Email); + UserManager.getUser(DemoUsers.Alex_Kay).persist(getClass().getSimpleName()); + + // reset the originator + teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), false, new Date()); + // persist will kick event which will log the notification event and send + teamArt.persist("Change originator"); + + // verify NO notification exists now + Assert.assertEquals(0, mgr.getNotificationEvents().size()); + + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testAddAssigneeNotification() throws OseeCoreException { + + // create a test notification manager + MockNotificationManager mgr = new MockNotificationManager(); + + // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) + MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + + // create new action + AtsTestUtil.cleanupAndReset(AtsNotificationManagerTest.class.getSimpleName()); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + + // verify no notification events yet + Assert.assertEquals(0, mgr.getNotificationEvents().size()); + + // set valid email for Alex_Kay + List users = new ArrayList(); + User Alex_Kay = UserManager.getUser(DemoUsers.Alex_Kay); + Alex_Kay.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); + users.add(Alex_Kay); + + User Jason_Michael = UserManager.getUser(DemoUsers.Jason_Michael); + users.add(Jason_Michael); + + User Inactive_Steve = UserManager.getUser(DemoUsers.Inactive_Steve); + Inactive_Steve.setSoleAttributeValue(CoreAttributeTypes.Email, "inactive.steve@boeing.com"); + users.add(Inactive_Steve); + + // current assignee shouldn't be emailed + UserManager.getUser().setEmail("joe.smith@boeing.com"); + users.add(UserManager.getUser()); + + teamArt.getStateMgr().addAssignees(AtsUsersClient.getAtsUsers(users)); + + // verify notification exists now only for active, valid email Alex, not for others + Assert.assertEquals(1, mgr.getNotificationEvents().size()); + Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( + "You have been set as the assignee")); + // but all 4 are now assigned + Assert.assertEquals(4, teamArt.getStateMgr().getAssignees().size()); + + for (User user : users) { + UserManager.getUser(user).reloadAttributesAndRelations(); + } + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testSetAssigneeNotification() throws OseeCoreException { + + // create a test notification manager + MockNotificationManager mgr = new MockNotificationManager(); + // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) + MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + + // create new action + AtsTestUtil.cleanupAndReset(AtsNotificationManagerTest.class.getSimpleName()); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + Assert.assertEquals("Joe should be assigned; currently = " + teamArt.getStateMgr().getAssigneesStr(), 1, + teamArt.getStateMgr().getAssignees().size()); + + // set valid email for Alex_Kay and add as assignee + User Alex_Kay = UserManager.getUser(DemoUsers.Alex_Kay); + Alex_Kay.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); + Alex_Kay.persist(getClass().getSimpleName()); + teamArt.getStateMgr().addAssignee(AtsUsersClient.getUserFromOseeUser(Alex_Kay)); + teamArt.persist(getClass().getSimpleName()); + Assert.assertEquals("Alex and Joe should be assigned; currently = " + teamArt.getStateMgr().getAssigneesStr(), 2, + teamArt.getStateMgr().getAssignees().size()); + mgr.clear(); + + // verify no notification events yet + Assert.assertEquals(0, mgr.getNotificationEvents().size()); + + List usersToSet = new ArrayList(); + User Jason_Michael = UserManager.getUser(DemoUsers.Jason_Michael); + Jason_Michael.setEmail("jason.michael@boeing.com"); + usersToSet.add(Jason_Michael); + + User Inactive_Steve = UserManager.getUser(DemoUsers.Inactive_Steve); + Inactive_Steve.setSoleAttributeValue(CoreAttributeTypes.Email, "inactive.steve@boeing.com"); + usersToSet.add(Inactive_Steve); + + // current assignee and Alex_Kay shouldn't be emailed cause they were already assigned + UserManager.getUser().setEmail("joe.smith@boeing.com"); + usersToSet.add(UserManager.getUser()); + usersToSet.add(Alex_Kay); + + teamArt.getStateMgr().setAssignees(AtsUsersClient.getAtsUsers(usersToSet)); + + // verify notification exists now only for Jason_Michael, not for others + Assert.assertEquals(1, mgr.getNotificationEvents().size()); + Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( + "You have been set as the assignee")); + // but all 4 are now assigned + Assert.assertEquals(4, teamArt.getStateMgr().getAssignees().size()); + + for (User user : usersToSet) { + UserManager.getUser(user).reloadAttributesAndRelations(); + } + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testCompletedNotification() throws OseeCoreException { + + // create a test notification manager + MockNotificationManager mgr = new MockNotificationManager(); + // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) + MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + + // create new action + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + + // set originator as Alex Kay + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), false, new Date()); + teamArt.persist(getClass().getSimpleName() + " - set originator"); + + // set alex kay having valid email address + User user = UserManager.getUser(DemoUsers.Alex_Kay); + user.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); + user.persist(getClass().getSimpleName() + "- set alex email address"); + mgr.clear(); + + // verify no notification events yet + Assert.assertEquals(0, mgr.getNotificationEvents().size()); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + Result result = + AtsTestUtil.transitionTo(AtsTestUtilState.Completed, AtsUsersClient.getUser(), transaction, + TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); + Assert.assertEquals(Result.TrueResult, result); + Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Completed.getName()); + transaction.execute(); + + // verify notification to originator + Assert.assertEquals(1, mgr.getNotificationEvents().size()); + Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().endsWith("is [Completed]")); + + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testCancelledNotification() throws OseeCoreException { + + // create a test notification manager + MockNotificationManager mgr = new MockNotificationManager(); + // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) + MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + + // create new action + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + + // set originator as Alex Kay + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), false, new Date()); + teamArt.persist(getClass().getSimpleName() + " - set originator"); + + // set alex kay having valid email address + User user = UserManager.getUser(DemoUsers.Alex_Kay); + user.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); + user.persist(getClass().getSimpleName() + "-set key email address"); + mgr.clear(); + + // verify no notification events yet + Assert.assertEquals(0, mgr.getNotificationEvents().size()); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + Result result = + AtsTestUtil.transitionTo(AtsTestUtilState.Cancelled, AtsUsersClient.getUser(), transaction, + TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); + Assert.assertEquals(Result.TrueResult, result); + Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Cancelled.getName()); + transaction.execute(); + + // verify notification to originator + Assert.assertEquals(1, mgr.getNotificationEvents().size()); + Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( + "[Team Workflow] titled [AtsTestUtil - Team WF [AtsNotificationManagerTest]] was [Cancelled] from the [Analyze]")); + + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testSubscribedTeam() throws OseeCoreException { + + // create a test notification manager + MockNotificationManager mgr = new MockNotificationManager(); + // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) + MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + + // create new action + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + + // setup alex email and subscribe for team definition + User alex = UserManager.getUser(DemoUsers.Alex_Kay); + alex.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); + alex.persist(getClass().getSimpleName() + "- set alex email address"); + + AtsTestUtil.getTestTeamDef().getSubscribed().add(AtsUsersClient.getUserFromOseeUser(alex)); + + mgr.clear(); + + // create another action + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + ActionArtifact actionArt = + ActionManager.createAction(null, getClass().getSimpleName() + " - testSubscribedTeam", "description", + ChangeType.Improvement, "1", false, null, Arrays.asList(AtsTestUtil.getTestAi()), new Date(), + AtsUsersClient.getUser(), null, transaction); + + // verify notification to subscriber + Assert.assertEquals(1, mgr.getNotificationEvents().size()); + Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( + "You have subscribed for email notification for Team ")); + + transaction.execute(); + + SkynetTransaction transaction2 = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + + actionArt.getTeams().iterator().next().deleteAndPersist(transaction2); + actionArt.deleteAndPersist(transaction2); + + User user = UserManager.getUser(DemoUsers.Alex_Kay); + user.setSoleAttributeValue(CoreAttributeTypes.Email, ""); + user.deleteRelations(AtsRelationTypes.SubscribedUser_Artifact); + user.persist(transaction2); + + transaction2.execute(); + + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testSubscribedActionableItem() throws OseeCoreException { + + // create a test notification manager + MockNotificationManager mgr = new MockNotificationManager(); + // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) + MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + + // create new action + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + + // setup alex email and subscribe for AI + User alex = UserManager.getUser(DemoUsers.Alex_Kay); + alex.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); + alex.persist(getClass().getSimpleName() + "- set alex email address"); + + AtsTestUtil.getTestAi().getSubscribed().add(AtsUsersClient.getUserFromOseeUser(alex)); + + mgr.clear(); + + // create another action + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + ActionArtifact actionArt = + ActionManager.createAction(null, getClass().getSimpleName() + " - testSubscribedAI", "description", + ChangeType.Improvement, "1", false, null, Arrays.asList(AtsTestUtil.getTestAi()), new Date(), + AtsUsersClient.getUser(), null, transaction); + + // verify notification to subscriber + Assert.assertEquals(1, mgr.getNotificationEvents().size()); + Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( + "You have subscribed for email notification for Actionable Item ")); + + transaction.execute(); + + SkynetTransaction transaction2 = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + + actionArt.getTeams().iterator().next().deleteAndPersist(transaction2); + actionArt.deleteAndPersist(transaction2); + + User user = UserManager.getUser(DemoUsers.Alex_Kay); + user.setSoleAttributeValue(CoreAttributeTypes.Email, ""); + user.deleteRelations(AtsRelationTypes.SubscribedUser_Artifact); + user.persist(transaction2); + + transaction2.execute(); + + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testSubscribedWorkflow() throws OseeCoreException { + + // create a test notification manager + MockNotificationManager mgr = new MockNotificationManager(); + // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) + MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + + // create new action + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + + // setup alex email and subscribe for AI + User alex = UserManager.getUser(DemoUsers.Alex_Kay); + alex.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); + alex.persist(getClass().getSimpleName() + "- set alex email address"); + + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + + teamArt.setRelations(AtsRelationTypes.SubscribedUser_User, Arrays.asList(alex)); + teamArt.persist(getClass().getSimpleName() + " - add Workflow subscription"); + + mgr.clear(); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + Result result = + AtsTestUtil.transitionTo(AtsTestUtilState.Implement, AtsUsersClient.getUser(), transaction, + TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); + Assert.assertEquals(Result.TrueResult, result); + transaction.execute(); + + // verify notification to workflow subscriber + Assert.assertEquals(1, mgr.getNotificationEvents().size()); + Assert.assertEquals( + "[Team Workflow] titled [AtsTestUtil - Team WF [AtsNotificationManagerTest]] transitioned to [Implement] and you subscribed for notification.", + mgr.getNotificationEvents().iterator().next().getDescription()); + + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testReviewersCompleted() throws OseeCoreException { + + // create a test notification manager + MockNotificationManager mgr = new MockNotificationManager(); + + // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) + MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + + // create new action + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + + // setup alex email and subscribe for AI + User alex = UserManager.getUser(DemoUsers.Alex_Kay); + alex.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); + alex.persist(getClass().getSimpleName() + "- set alex email address"); + + User kay = UserManager.getUser(DemoUsers.Kay_Jones); + kay.setSoleAttributeValue(CoreAttributeTypes.Email, "kay.jones@boeing.com"); + kay.persist(getClass().getSimpleName() + "- set kay email address"); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + PeerToPeerReviewArtifact peerArt = + AtsTestUtil.getOrCreatePeerReview(ReviewBlockType.None, AtsTestUtilState.Analyze, transaction); + List roles = new ArrayList(); + UserRole author = new UserRole(Role.Author, AtsUsersClient.getUserFromOseeUser(alex)); + roles.add(author); + UserRole moderator = new UserRole(Role.Moderator, AtsUsersClient.getUserFromOseeUser(kay)); + roles.add(moderator); + UserRole reviewer1 = new UserRole(Role.Reviewer, AtsUsersClient.getUser()); + roles.add(reviewer1); + UserRole reviewer2 = new UserRole(Role.Reviewer, AtsUsersClient.getUserFromToken(DemoUsers.Jason_Michael)); + roles.add(reviewer2); + + Result result = + PeerToPeerReviewManager.transitionTo(peerArt, PeerToPeerReviewState.Review, roles, null, + AtsUsersClient.getUser(), false, transaction); + Assert.assertEquals(Result.TrueResult, result); + peerArt.persist(transaction); + transaction.execute(); + mgr.clear(); + + peerArt.getCurrentStateName(); + + // complete reviewer1 role + transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), + getClass().getSimpleName() + " - update reviewer 1"); + UserRoleManager roleMgr = new UserRoleManager(peerArt); + reviewer1.setHoursSpent(1.0); + reviewer1.setCompleted(true); + roleMgr.addOrUpdateUserRole(reviewer1); + roleMgr.saveToArtifact(transaction); + transaction.execute(); + + // no notifications sent + Assert.assertEquals(0, mgr.getNotificationEvents().size()); + + // complete reviewer2 role + transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), + getClass().getSimpleName() + " - update reviewer 2"); + reviewer2.setHoursSpent(1.0); + reviewer2.setCompleted(true); + roleMgr.addOrUpdateUserRole(reviewer2); + roleMgr.saveToArtifact(transaction); + peerArt.persist(transaction); + transaction.execute(); + + // notification sent to author/moderator + Assert.assertEquals(1, mgr.getNotificationEvents().size()); + Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().equals( + "You are Author/Moderator of [PeerToPeer Review] titled [AtsTestUtil Test Peer Review] which has been reviewed by all reviewers")); + // email both moderator and author + Assert.assertEquals(2, mgr.getNotificationEvents().iterator().next().getUsers().size()); + peerArt.deleteAndPersist(); + AtsTestUtil.cleanup(); + } + + private static final class MockConfigurationProvider implements ConfigurationProvider { + + private final INotificationManager notificationManager; + private final boolean isProduction; + + public MockConfigurationProvider(INotificationManager notificationManager, boolean isProduction) { + super(); + this.notificationManager = notificationManager; + this.isProduction = isProduction; + } + + @Override + public INotificationManager getNotificationManager() { + return notificationManager; + } + + @Override + public boolean isProduction() { + return isProduction; + } + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotifyUsersTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotifyUsersTest.java new file mode 100644 index 00000000000..b24dafb1ec5 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/AtsNotifyUsersTest.java @@ -0,0 +1,276 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.notify; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import org.eclipse.osee.ats.client.demo.DemoActionableItems; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.action.ActionManager; +import org.eclipse.osee.ats.core.client.notify.AtsNotificationManager; +import org.eclipse.osee.ats.core.client.notify.AtsNotificationManager.ConfigurationProvider; +import org.eclipse.osee.ats.core.client.notify.AtsNotifyType; +import org.eclipse.osee.ats.core.client.notify.AtsNotifyUsers; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.client.util.SubscribeManager; +import org.eclipse.osee.ats.core.client.workflow.ChangeType; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; +import org.eclipse.osee.ats.core.config.ActionableItems; +import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.User; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.framework.skynet.core.utility.INotificationManager; +import org.eclipse.osee.framework.skynet.core.utility.OseeNotificationEvent; +import org.junit.Assert; + +/** + * Test unit for {@link AtsNotifyUsers} + * + * @author Donald G. Dunne + */ +public class AtsNotifyUsersTest { + @org.junit.BeforeClass + public static void setup() throws OseeCoreException { + AtsUtilCore.setEmailEnabled(true); + AtsTestUtil.cleanupAndReset(AtsNotificationManagerTest.class.getSimpleName()); + cleanUpAction(); + } + + @org.junit.AfterClass + public static void cleanup() throws OseeCoreException { + UserManager.getUser(DemoUsers.Jason_Michael).reloadAttributesAndRelations(); + UserManager.getUser(DemoUsers.Kay_Jones).reloadAttributesAndRelations(); + UserManager.getUser(DemoUsers.Alex_Kay).reloadAttributesAndRelations(); + UserManager.getUser(DemoUsers.Joe_Smith).reloadAttributesAndRelations(); + UserManager.getUser(DemoUsers.Inactive_Steve).reloadAttributesAndRelations(); + AtsTestUtil.cleanup(); + cleanUpAction(); + + AtsUtilCore.setEmailEnabled(false); + + AtsTestUtil.validateArtifactCache(); + AtsUtilCore.setEmailEnabled(false); + + } + + private static void cleanUpAction() throws OseeCoreException { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), AtsNotifyUsersTest.class.getSimpleName()); + for (Artifact art : ArtifactQuery.getArtifactListFromAttribute(CoreAttributeTypes.Name, + AtsNotifyUsersTest.class.getSimpleName(), AtsUtilCore.getAtsBranch(), QueryOptions.CONTAINS_MATCH_OPTIONS)) { + art.deleteAndPersist(transaction); + } + transaction.execute(); + } + + @org.junit.Test + public void testNotify() throws OseeCoreException { + User jason_ValidEmail = UserManager.getUser(DemoUsers.Jason_Michael); + jason_ValidEmail.setEmail("jason@boeing.com"); + User alex_NoValidEmail = UserManager.getUser(DemoUsers.Alex_Kay); + alex_NoValidEmail.setEmail(""); + User kay_ValidEmail = UserManager.getUser(DemoUsers.Kay_Jones); + kay_ValidEmail.setEmail("kay@boeing.com"); + User joeSmith_CurrentUser = UserManager.getUser(DemoUsers.Joe_Smith); + joeSmith_CurrentUser.setEmail("joe@boeing.com"); + User inactiveSteve = UserManager.getUser(DemoUsers.Inactive_Steve); + inactiveSteve.setEmail("inactiveSteves@boeing.com"); + + MockNotificationManager notifyManager = new MockNotificationManager(); + MockConfigurationProvider configProvider = new MockConfigurationProvider(notifyManager, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + teamArt.setName(AtsNotifyUsersTest.class.getSimpleName() + "-testNotify"); + teamArt.internalSetCreatedBy(AtsUsersClient.getUserFromOseeUser(kay_ValidEmail)); + List assignees = new ArrayList(); + assignees.addAll(Arrays.asList(inactiveSteve, alex_NoValidEmail, jason_ValidEmail, kay_ValidEmail, + joeSmith_CurrentUser)); + teamArt.getStateMgr().setAssignees(AtsUsersClient.getAtsUsers(assignees)); + teamArt.persist(transaction); + transaction.execute(); + + notifyManager.clear(); + AtsNotificationManager.notify(teamArt, AtsNotifyType.Originator); + Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); + OseeNotificationEvent event = notifyManager.getNotificationEvents().get(0); + Assert.assertEquals(AtsNotifyType.Originator.name(), event.getType()); + Assert.assertEquals(kay_ValidEmail, event.getUsers().iterator().next()); + Assert.assertEquals( + "You have been set as the originator of [Team Workflow] state [Analyze] titled [AtsNotifyUsersTest-testNotify]", + event.getDescription()); + + notifyManager.clear(); + teamArt.internalSetCreatedBy(AtsUsersClient.getUserFromOseeUser(inactiveSteve)); + teamArt.persist(getClass().getSimpleName()); + AtsNotificationManager.notify(teamArt, AtsNotifyType.Originator); + Assert.assertEquals(0, notifyManager.getNotificationEvents().size()); + teamArt.internalSetCreatedBy(AtsUsersClient.getUserFromOseeUser(kay_ValidEmail)); + teamArt.persist(getClass().getSimpleName()); + + notifyManager.clear(); + AtsNotificationManager.notify(teamArt, AtsNotifyType.Assigned); + Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); + event = notifyManager.getNotificationEvents().get(0); + Assert.assertEquals(AtsNotifyType.Assigned.name(), event.getType()); + // joe smith should be removed from list cause it's current user + // alex should be removed cause not valid email + List expected = new ArrayList(); + expected.add(jason_ValidEmail); + expected.add(kay_ValidEmail); + List users = new ArrayList(); + users.addAll(event.getUsers()); + Assert.assertTrue(org.eclipse.osee.framework.jdk.core.util.Collections.isEqual(expected, users)); + Assert.assertEquals( + "You have been set as the assignee of [Team Workflow] in state [Analyze] titled [AtsNotifyUsersTest-testNotify]", + event.getDescription()); + + notifyManager.clear(); + AtsNotificationManager.notify(teamArt, + Collections.singleton(AtsUsersClient.getUserFromOseeUser(jason_ValidEmail)), AtsNotifyType.Assigned); + Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); + event = notifyManager.getNotificationEvents().get(0); + Assert.assertEquals(AtsNotifyType.Assigned.name(), event.getType()); + // only alex should be emailed cause sent in list + Assert.assertEquals(1, event.getUsers().size()); + Assert.assertEquals(jason_ValidEmail, event.getUsers().iterator().next()); + Assert.assertEquals( + "You have been set as the assignee of [Team Workflow] in state [Analyze] titled [AtsNotifyUsersTest-testNotify]", + event.getDescription()); + + notifyManager.clear(); + SubscribeManager.toggleSubscribe(teamArt); + transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), "AtsNotifyUsersTests.toggle.subscribed"); + SubscribeManager.addSubscribed(teamArt, AtsUsersClient.getUserFromOseeUser(inactiveSteve), transaction); + transaction.execute(); + AtsNotificationManager.notify(teamArt, AtsNotifyType.Subscribed); + Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); + event = notifyManager.getNotificationEvents().get(0); + Assert.assertEquals(AtsNotifyType.Subscribed.name(), event.getType()); + Assert.assertEquals(UserManager.getUser(), event.getUsers().iterator().next()); + Assert.assertEquals( + "[Team Workflow] titled [AtsNotifyUsersTest-testNotify] transitioned to [Analyze] and you subscribed for notification.", + event.getDescription()); + SubscribeManager.toggleSubscribe(teamArt); + + notifyManager.clear(); + AtsNotificationManager.notify(teamArt, AtsNotifyType.Completed); + Assert.assertEquals(0, notifyManager.getNotificationEvents().size()); + + notifyManager.clear(); + teamArt.getStateMgr().initializeStateMachine(TeamState.Completed, null, AtsUsersClient.getUser()); + AtsNotificationManager.notify(teamArt, AtsNotifyType.Completed); + event = notifyManager.getNotificationEvents().get(0); + Assert.assertEquals(AtsNotifyType.Completed.name(), event.getType()); + Assert.assertEquals(kay_ValidEmail, event.getUsers().iterator().next()); + Assert.assertEquals("[Team Workflow] titled [AtsNotifyUsersTest-testNotify] is [Completed]", + event.getDescription()); + + notifyManager.clear(); + teamArt.internalSetCreatedBy(AtsUsersClient.getUserFromOseeUser(inactiveSteve)); + teamArt.persist(getClass().getSimpleName()); + teamArt.getStateMgr().initializeStateMachine(TeamState.Completed, null, AtsUsersClient.getUser()); + AtsNotificationManager.notify(teamArt, AtsNotifyType.Completed); + Assert.assertEquals(0, notifyManager.getNotificationEvents().size()); + teamArt.internalSetCreatedBy(AtsUsersClient.getUserFromOseeUser(kay_ValidEmail)); + teamArt.persist(getClass().getSimpleName()); + + notifyManager.clear(); + teamArt.getStateMgr().initializeStateMachine(TeamState.Analyze, null, AtsUsersClient.getUser()); + TransitionHelper helper = + new TransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), TeamState.Cancelled.getName(), null, + "this is the reason", TransitionOption.OverrideTransitionValidityCheck); + transaction = TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + TransitionManager transitionMgr = new TransitionManager(helper, transaction); + TransitionResults results = transitionMgr.handleAll(); + transaction.execute(); + Assert.assertTrue("Transition should have no errors", results.isEmpty()); + + Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); + event = notifyManager.getNotificationEvents().get(0); + Assert.assertEquals(AtsNotifyType.Cancelled.name(), event.getType()); + Assert.assertEquals(kay_ValidEmail, event.getUsers().iterator().next()); + Assert.assertTrue(event.getDescription().startsWith( + "[Team Workflow] titled [AtsNotifyUsersTest-testNotify] was [Cancelled] from the [Analyze] state on")); + Assert.assertTrue(event.getDescription().endsWith(".
Reason: [this is the reason]")); + + } + + @org.junit.Test + public void testNotifyOnNewAction() throws OseeCoreException { + + User kay_ValidEmail = UserManager.getUser(DemoUsers.Kay_Jones); + kay_ValidEmail.setEmail("kay@boeing.com"); + + MockNotificationManager notifyManager = new MockNotificationManager(); + MockConfigurationProvider configProvider = new MockConfigurationProvider(notifyManager, true); + AtsNotificationManager.setConfigurationProvider(configProvider); + AtsNotificationManager.setInTest(false); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + ActionManager.createAction(null, getClass().getSimpleName() + "-OnNewAction", "Description", + ChangeType.Improvement, "2", false, null, + ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_SW_Design.getName())), new Date(), + AtsUsersClient.getUser(), null, transaction); + transaction.execute(); + + Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); + OseeNotificationEvent event = notifyManager.getNotificationEvents().get(0); + Assert.assertEquals(AtsNotifyType.Assigned.name(), event.getType()); + Assert.assertEquals(kay_ValidEmail, event.getUsers().iterator().next()); + Assert.assertEquals( + "You have been set as the assignee of [Team Workflow] in state [Endorse] titled [AtsNotifyUsersTest-OnNewAction]", + event.getDescription()); + } + + private static final class MockConfigurationProvider implements ConfigurationProvider { + + private final INotificationManager notificationManager; + private final boolean isProduction; + + public MockConfigurationProvider(INotificationManager notificationManager, boolean isProduction) { + super(); + this.notificationManager = notificationManager; + this.isProduction = isProduction; + } + + @Override + public INotificationManager getNotificationManager() { + return notificationManager; + } + + @Override + public boolean isProduction() { + return isProduction; + } + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/MockNotificationManager.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/MockNotificationManager.java new file mode 100644 index 00000000000..f50c1e35e2f --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/notify/MockNotificationManager.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.notify; + +import java.util.ArrayList; +import java.util.List; +import org.eclipse.osee.framework.skynet.core.utility.INotificationManager; +import org.eclipse.osee.framework.skynet.core.utility.OseeNotificationEvent; + +/** + * @author Donald G. Dunne + */ +public class MockNotificationManager implements INotificationManager { + + private final List notificationEvents = new ArrayList(); + + @Override + public void addNotificationEvent(OseeNotificationEvent notificationEvent) { + notificationEvents.add(notificationEvent); + } + + @Override + public void clear() { + notificationEvents.clear(); + } + + @Override + public List getNotificationEvents() { + return notificationEvents; + } + + @Override + public void sendNotifications() { + // do nothings + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/operation/AtsCoreClient_Operation_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/operation/AtsCoreClient_Operation_Suite.java new file mode 100644 index 00000000000..398bc144a94 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/operation/AtsCoreClient_Operation_Suite.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.operation; + +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({MoveTeamWorkflowsOperationTest.class}) +public class AtsCoreClient_Operation_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Operation_Suite.class.getSimpleName()); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Operation_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/operation/MoveTeamWorkflowsOperationTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/operation/MoveTeamWorkflowsOperationTest.java new file mode 100644 index 00000000000..718b871b7ba --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/operation/MoveTeamWorkflowsOperationTest.java @@ -0,0 +1,50 @@ +/* + * Created on Oct 20, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.operation; + +import java.util.Arrays; +import junit.framework.Assert; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.action.ActionArtifact; +import org.eclipse.osee.ats.core.client.operation.MoveTeamWorkflowsOperation; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.operation.Operations; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * @author Donald G. Dunne + */ +public class MoveTeamWorkflowsOperationTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testDoWork() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + ActionArtifact actArt = AtsTestUtil.getActionArt(); + TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); + + ActionArtifact actArt2 = AtsTestUtil.getActionArt2(); + TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); + + MoveTeamWorkflowsOperation operation = + new MoveTeamWorkflowsOperation("Move", teamWf, Arrays.asList(teamWf2), "new title"); + Operations.executeWorkAndCheckStatus(operation); + + Assert.assertEquals("Parent Actions should be same", teamWf.getParentActionArtifact(), + teamWf.getParentActionArtifact()); + Assert.assertEquals("new title", actArt.getName()); + Assert.assertTrue("Action Artifact 2 should be deleted", actArt2.isDeleted()); + Assert.assertFalse("No artifact should be dirty", + actArt.isDirty() && teamWf.isDirty() && actArt2.isDirty() && teamWf2.isDirty()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/AtsCoreClient_Review_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/AtsCoreClient_Review_Suite.java new file mode 100644 index 00000000000..0ce04942963 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/AtsCoreClient_Review_Suite.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.review; + +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + DecisionReviewManagerTest.class, + DecisionReviewDefinitionManagerTest.class, + PeerToPeerReviewManagerTest.class, + PeerReviewDefinitionManagerTest.class}) +public class AtsCoreClient_Review_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Review_Suite.class.getSimpleName()); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Review_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/DecisionReviewDefinitionManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/DecisionReviewDefinitionManagerTest.java new file mode 100644 index 00000000000..630b0848409 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/DecisionReviewDefinitionManagerTest.java @@ -0,0 +1,146 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.review; + +import java.util.Arrays; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; +import org.eclipse.osee.ats.api.workdef.ReviewBlockType; +import org.eclipse.osee.ats.api.workdef.StateEventType; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.transition.MockTransitionHelper; +import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; +import org.eclipse.osee.ats.core.client.review.DecisionReviewDefinitionManager; +import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; +import org.eclipse.osee.ats.core.client.review.DecisionReviewState; +import org.eclipse.osee.ats.core.client.review.ReviewManager; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; +import org.eclipse.osee.ats.mocks.MockDecisionReviewDefinition; +import org.eclipse.osee.framework.core.enums.SystemUser; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * Test unit for {@link DecisionReviewDefinitionManager} + * + * @author Donald G. Dunne + */ +public class DecisionReviewDefinitionManagerTest extends DecisionReviewDefinitionManager { + + @BeforeClass + @AfterClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testCreateDecisionReviewDuringTransition_ToDecision() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("DecisionReviewDefinitionManagerTest - ToDecision"); + + // configure WorkDefinition to create a new Review on transition to Implement + IAtsStateDefinition implement = AtsTestUtil.getImplementStateDef(); + + MockDecisionReviewDefinition revDef = new MockDecisionReviewDefinition("Create New on Implement"); + revDef.setAutoTransitionToDecision(true); + revDef.setBlockingType(ReviewBlockType.Transition); + revDef.setDescription("the description"); + revDef.setRelatedToState(implement.getName()); + revDef.setStateEventType(StateEventType.TransitionTo); + revDef.setReviewTitle("This is my review title"); + revDef.getOptions().addAll(DecisionReviewManager.getDefaultDecisionReviewOptions()); + revDef.getAssignees().add(SystemUser.UnAssigned.getUserId()); + + implement.getDecisionReviews().add(revDef); + + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + Assert.assertEquals("No reviews should be present", 0, ReviewManager.getReviews(teamArt).size()); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), implement.getName(), + Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper, transaction); + TransitionResults results = transMgr.handleAll(); + transaction.execute(); + + Assert.assertTrue(results.toString(), results.isEmpty()); + + Assert.assertEquals("One review should be present", 1, ReviewManager.getReviews(teamArt).size()); + DecisionReviewArtifact decArt = (DecisionReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next(); + + Assert.assertEquals(DecisionReviewState.Decision.getName(), decArt.getCurrentStateName()); + Assert.assertEquals("UnAssigned", decArt.getStateMgr().getAssigneesStr()); + Assert.assertEquals(ReviewBlockType.Transition.name(), + decArt.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks)); + Assert.assertEquals("This is my review title", decArt.getName()); + Assert.assertEquals("the description", decArt.getSoleAttributeValue(AtsAttributeTypes.Description)); + Assert.assertEquals(implement.getName(), decArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); + + AtsTestUtil.validateArtifactCache(); + } + + @org.junit.Test + public void testCreateDecisionReviewDuringTransition_Prepare() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("DecisionReviewDefinitionManagerTest - Prepare"); + + // configure WorkDefinition to create a new Review on transition to Implement + IAtsStateDefinition implement = AtsTestUtil.getImplementStateDef(); + + MockDecisionReviewDefinition revDef = new MockDecisionReviewDefinition("Create New on Implement"); + revDef.setAutoTransitionToDecision(false); + revDef.setBlockingType(ReviewBlockType.Commit); + revDef.setReviewTitle("This is the title"); + revDef.setDescription("the description"); + revDef.setRelatedToState(implement.getName()); + revDef.setStateEventType(StateEventType.TransitionTo); + revDef.getOptions().addAll(DecisionReviewManager.getDefaultDecisionReviewOptions()); + + implement.getDecisionReviews().add(revDef); + + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + Assert.assertEquals("No reviews should be present", 0, ReviewManager.getReviews(teamArt).size()); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), implement.getName(), + Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper, transaction); + TransitionResults results = transMgr.handleAll(); + transaction.execute(); + + Assert.assertTrue(results.toString(), results.isEmpty()); + + Assert.assertEquals("One review should be present", 1, ReviewManager.getReviews(teamArt).size()); + DecisionReviewArtifact decArt = (DecisionReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next(); + + Assert.assertEquals(DecisionReviewState.Prepare.getName(), decArt.getCurrentStateName()); + // Current user assigned if non specified + Assert.assertEquals("Joe Smith", decArt.getStateMgr().getAssigneesStr()); + Assert.assertEquals(ReviewBlockType.Commit.name(), decArt.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks)); + Assert.assertEquals("This is the title", decArt.getName()); + Assert.assertEquals("the description", decArt.getSoleAttributeValue(AtsAttributeTypes.Description)); + Assert.assertEquals(implement.getName(), decArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); + + AtsTestUtil.validateArtifactCache(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/DecisionReviewManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/DecisionReviewManagerTest.java new file mode 100644 index 00000000000..d41cab8f06d --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/DecisionReviewManagerTest.java @@ -0,0 +1,171 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.review; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.workdef.IAtsDecisionReviewOption; +import org.eclipse.osee.ats.api.workdef.ReviewBlockType; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; +import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; +import org.eclipse.osee.ats.core.client.review.DecisionReviewState; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.mocks.MockDecisionReviewOption; +import org.eclipse.osee.framework.core.enums.SystemUser; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.framework.skynet.core.utility.Artifacts; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * Test for {@link DecisionReviewManager} + * + * @author Donald G. Dunne + */ +public class DecisionReviewManagerTest extends DecisionReviewManager { + + @BeforeClass + @AfterClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testGetDecisionReviewOptionsStr() throws OseeCoreException { + Assert.assertEquals("Yes;Followup;\nNo;Completed;\n", + DecisionReviewManager.getDecisionReviewOptionsString(DecisionReviewManager.getDefaultDecisionReviewOptions())); + } + + @org.junit.Test + public void testCreateNewDecisionReviewAndTransitionToDecision__Normal() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("DecisionReviewManagerTest - Normal"); + TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); + + List options = new ArrayList(); + options.add(new MockDecisionReviewOption(DecisionReviewState.Completed.getName(), false, null)); + options.add(new MockDecisionReviewOption(DecisionReviewState.Followup.getName(), true, + Arrays.asList(AtsUsersClient.getUser().getUserId()))); + + // create and transition decision review + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + String reviewTitle = "Test Review - " + teamWf.getName(); + DecisionReviewArtifact decRev = + DecisionReviewManager.createNewDecisionReviewAndTransitionToDecision(teamWf, reviewTitle, "my description", + AtsTestUtil.getAnalyzeStateDef().getName(), ReviewBlockType.Transition, options, + Arrays.asList(AtsUsersClient.getUser()), new Date(), AtsUsersClient.getUser(), transaction); + transaction.execute(); + + Assert.assertNotNull(decRev); + Assert.assertFalse( + String.format("Decision Review artifact should not be dirty [%s]", Artifacts.getDirtyReport(decRev)), + decRev.isDirty()); + Assert.assertEquals(DecisionReviewState.Decision.getName(), decRev.getCurrentStateName()); + Assert.assertEquals("Joe Smith", decRev.getStateMgr().getAssigneesStr()); + + } + + @org.junit.Test + public void testCreateNewDecisionReviewAndTransitionToDecision__UnAssigned() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("DecisionReviewManagerTest - UnAssigned"); + TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); + + List options = new ArrayList(); + options.add(new MockDecisionReviewOption(DecisionReviewState.Completed.getName(), false, null)); + options.add(new MockDecisionReviewOption(DecisionReviewState.Followup.getName(), true, + Arrays.asList(AtsUsersClient.getUser().getUserId()))); + + // create and transition decision review + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + String reviewTitle = "Test Review - " + teamWf.getName(); + DecisionReviewArtifact decRev = + DecisionReviewManager.createNewDecisionReviewAndTransitionToDecision(teamWf, reviewTitle, "my description", + AtsTestUtil.getAnalyzeStateDef().getName(), ReviewBlockType.Transition, options, + Arrays.asList(AtsUsersClient.getUserFromToken(SystemUser.UnAssigned)), new Date(), + AtsUsersClient.getUser(), transaction); + transaction.execute(); + + Assert.assertNotNull(decRev); + Assert.assertEquals(reviewTitle, decRev.getName()); + Assert.assertFalse( + String.format("Decision Review artifact should not be dirty [%s]", Artifacts.getDirtyReport(decRev)), + decRev.isDirty()); + Assert.assertEquals(DecisionReviewState.Decision.getName(), decRev.getCurrentStateName()); + Assert.assertEquals("UnAssigned", decRev.getStateMgr().getAssigneesStr()); + + } + + @org.junit.Test + public void testCreateNewDecisionReview__Base() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("DecisionReviewManagerTest - Base"); + TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); + + String reviewTitle = "Test Review - " + teamWf.getName(); + DecisionReviewArtifact decRev = + DecisionReviewManager.createNewDecisionReview(teamWf, ReviewBlockType.Commit, reviewTitle, + TeamState.Implement.getName(), "description", DecisionReviewManager.getDefaultDecisionReviewOptions(), + Arrays.asList(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)), new Date(), AtsUsersClient.getUser()); + + Assert.assertNotNull(decRev); + Assert.assertEquals(reviewTitle, decRev.getName()); + Assert.assertEquals(DecisionReviewState.Prepare.getName(), decRev.getCurrentStateName()); + Assert.assertEquals("Alex Kay", decRev.getStateMgr().getAssigneesStr()); + Assert.assertEquals(TeamState.Implement.getName(), decRev.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); + Assert.assertEquals(ReviewBlockType.Commit.name(), decRev.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks)); + } + + @org.junit.Test + public void testCreateNewDecisionReview__BaseUnassigned() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("DecisionReviewManagerTest - BaseUnassigned"); + TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); + + String reviewTitle = "Test Review - " + teamWf.getName(); + DecisionReviewArtifact decRev = + DecisionReviewManager.createNewDecisionReview(teamWf, ReviewBlockType.Commit, reviewTitle, + TeamState.Implement.getName(), "description", DecisionReviewManager.getDefaultDecisionReviewOptions(), + Arrays.asList(AtsUsersClient.getUserFromToken(SystemUser.UnAssigned)), new Date(), AtsUsersClient.getUser()); + + Assert.assertNotNull(decRev); + Assert.assertEquals(reviewTitle, decRev.getName()); + Assert.assertEquals("UnAssigned", decRev.getStateMgr().getAssigneesStr()); + } + + @org.junit.Test + public void testCreateNewDecisionReview__Sample() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("DecisionReviewManagerTest - Sample"); + TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); + + DecisionReviewArtifact decRev = + DecisionReviewManager.createNewDecisionReview(teamWf, ReviewBlockType.Commit, true, new Date(), + AtsUsersClient.getUser()); + + Assert.assertNotNull(decRev); + Assert.assertEquals("Should we do this? Yes will require followup, No will not", decRev.getName()); + Assert.assertEquals(DecisionReviewState.Prepare.getName(), decRev.getCurrentStateName()); + Assert.assertEquals("Joe Smith", decRev.getStateMgr().getAssigneesStr()); + Assert.assertEquals(TeamState.Analyze.getName(), decRev.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); + Assert.assertEquals(ReviewBlockType.Commit.name(), + decRev.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks, "")); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/PeerReviewDefinitionManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/PeerReviewDefinitionManagerTest.java new file mode 100644 index 00000000000..c758217e574 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/PeerReviewDefinitionManagerTest.java @@ -0,0 +1,97 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.review; + +import java.util.Arrays; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; +import org.eclipse.osee.ats.api.workdef.ReviewBlockType; +import org.eclipse.osee.ats.api.workdef.StateEventType; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.transition.MockTransitionHelper; +import org.eclipse.osee.ats.core.client.review.PeerReviewDefinitionManager; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewState; +import org.eclipse.osee.ats.core.client.review.ReviewManager; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; +import org.eclipse.osee.ats.mocks.MockPeerReviewDefinition; +import org.eclipse.osee.framework.core.enums.SystemUser; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * Test unit for {@link PeerReviewDefinitionManager} + * + * @author Donald G. Dunne + */ +public class PeerReviewDefinitionManagerTest extends PeerReviewDefinitionManager { + + @BeforeClass + @AfterClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testCreatePeerReviewDuringTransition() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("PeerReviewDefinitionManagerTest"); + + // configure WorkDefinition to create a new Review on transition to Implement + IAtsStateDefinition implement = AtsTestUtil.getImplementStateDef(); + + MockPeerReviewDefinition revDef = new MockPeerReviewDefinition("Create New on Implement"); + revDef.setBlockingType(ReviewBlockType.Transition); + revDef.setDescription("the description"); + revDef.setRelatedToState(implement.getName()); + revDef.setStateEventType(StateEventType.TransitionTo); + revDef.setReviewTitle("This is my review title"); + revDef.getAssignees().add(SystemUser.UnAssigned.getUserId()); + + implement.getPeerReviews().add(revDef); + + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + Assert.assertEquals("No reviews should be present", 0, ReviewManager.getReviews(teamArt).size()); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), implement.getName(), + Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper, transaction); + TransitionResults results = transMgr.handleAll(); + transaction.execute(); + + Assert.assertTrue(results.toString(), results.isEmpty()); + + Assert.assertEquals("One review should be present", 1, ReviewManager.getReviews(teamArt).size()); + PeerToPeerReviewArtifact decArt = (PeerToPeerReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next(); + + Assert.assertEquals(PeerToPeerReviewState.Prepare.getName(), decArt.getCurrentStateName()); + Assert.assertEquals("UnAssigned", decArt.getStateMgr().getAssigneesStr()); + Assert.assertEquals(ReviewBlockType.Transition.name(), + decArt.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks)); + Assert.assertEquals("This is my review title", decArt.getName()); + Assert.assertEquals("the description", decArt.getSoleAttributeValue(AtsAttributeTypes.Description)); + Assert.assertEquals(implement.getName(), decArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); + + AtsTestUtil.validateArtifactCache(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/PeerToPeerReviewManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/PeerToPeerReviewManagerTest.java new file mode 100644 index 00000000000..f3cfaa981ca --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/review/PeerToPeerReviewManagerTest.java @@ -0,0 +1,95 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.review; + +import java.util.Date; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.framework.skynet.core.utility.Artifacts; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * Test unit for {@link PeerToPeerReviewManager} + * + * @author Donald G. Dunne + */ +public class PeerToPeerReviewManagerTest extends PeerToPeerReviewManager { + + @BeforeClass + @AfterClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testCreateNewPeerToPeerReview__Base() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("PeerToPeerReviewManagerTest - Base"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + + // create and transition peer review + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + String reviewTitle = "Test Review - " + teamArt.getName(); + + PeerToPeerReviewArtifact peerArt = + PeerToPeerReviewManager.createNewPeerToPeerReview(teamArt, reviewTitle, + AtsTestUtil.getAnalyzeStateDef().getName(), new Date(), AtsUsersClient.getUser(), transaction); + transaction.execute(); + + Assert.assertNotNull(peerArt); + Assert.assertFalse( + String.format("PeerToPeer Review artifact should not be dirty [%s]", Artifacts.getDirtyReport(peerArt)), + peerArt.isDirty()); + Assert.assertEquals(PeerToPeerReviewState.Prepare.getName(), peerArt.getCurrentStateName()); + Assert.assertEquals("Joe Smith", peerArt.getStateMgr().getAssigneesStr()); + Assert.assertEquals("Joe Smith", peerArt.getCreatedBy().getName()); + Assert.assertEquals(AtsTestUtil.getAnalyzeStateDef().getName(), + peerArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); + + } + + @org.junit.Test + public void testCreateNewPeerToPeerReview__Simple() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("PeerToPeerReviewManagerTest - Simple"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + + // create and transition peer review + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + String reviewTitle = "Test Review - " + teamArt.getName(); + + PeerToPeerReviewArtifact peerArt = + PeerToPeerReviewManager.createNewPeerToPeerReview(teamArt, reviewTitle, + AtsTestUtil.getAnalyzeStateDef().getName(), transaction); + transaction.execute(); + + Assert.assertNotNull(peerArt); + Assert.assertFalse( + String.format("PeerToPeer Review artifact should not be dirty [%s]", Artifacts.getDirtyReport(peerArt)), + peerArt.isDirty()); + Assert.assertEquals(PeerToPeerReviewState.Prepare.getName(), peerArt.getCurrentStateName()); + Assert.assertEquals("Joe Smith", peerArt.getStateMgr().getAssigneesStr()); + Assert.assertEquals(AtsTestUtil.getAnalyzeStateDef().getName(), + peerArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); + + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/AtsCoreClient_Task_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/AtsCoreClient_Task_Suite.java new file mode 100644 index 00000000000..0dffe92f4a1 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/AtsCoreClient_Task_Suite.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.task; + +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.task.createTasks.AtsCoreClient_CreateTasks_Suite; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsCoreClient_CreateTasks_Suite.class, TaskManagerTest.class}) +public class AtsCoreClient_Task_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Task_Suite.class.getSimpleName()); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Task_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/TaskManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/TaskManagerTest.java new file mode 100644 index 00000000000..0d0245288c7 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/TaskManagerTest.java @@ -0,0 +1,166 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.task; + +import java.util.Arrays; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.task.TaskManager; +import org.eclipse.osee.ats.core.client.task.TaskStates; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.client.workdef.WorkDefinitionFactory; +import org.eclipse.osee.ats.core.client.workflow.HoursSpentUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.core.util.XResultData; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * Test unit for {@link TaskManager} + * + * @author Donald G. Dunne + */ +public class TaskManagerTest extends TaskManager { + + @BeforeClass + @AfterClass + public static void cleanup() throws OseeCoreException { + AtsTestUtil.cleanup(); + } + + /** + * Test can move task between teamWfs that have same Task WorkDefinition + */ + @org.junit.Test + public void testMoveTasks_sameWorkDefinitions() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("testMoveTasks - sameWorkDefs"); + TaskArtifact taskToMove = AtsTestUtil.getOrCreateTaskOffTeamWf1(); + TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); + + IAtsWorkDefinition taskWorkDef = WorkDefinitionFactory.getWorkDefinitionForTask(taskToMove).getWorkDefinition(); + IAtsWorkDefinition newTaskWorkDef = + WorkDefinitionFactory.getWorkDefinitionForTaskNotYetCreated(teamWf2).getWorkDefinition(); + Assert.assertNotNull(taskWorkDef); + + Assert.assertEquals(taskWorkDef, newTaskWorkDef); + Result result = TaskManager.moveTasks(teamWf2, Arrays.asList(taskToMove)); + + Assert.assertTrue("This failed: " + result.getText(), result.isTrue()); + } + + /** + * Test can't move task between teamWfs with differing Task WorkDefinitions + */ + @org.junit.Test + public void testMoveTasks_differentWorkDefinitions() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("testMoveTasks - diffWorkDefs"); + TaskArtifact taskToMove = AtsTestUtil.getOrCreateTaskOffTeamWf1(); + TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); + IAtsWorkDefinition taskWorkDef = WorkDefinitionFactory.getWorkDefinitionForTask(taskToMove).getWorkDefinition(); + + // create new task work def + XResultData resultData = new XResultData(); + IAtsWorkDefinition differentTaskWorkDef = + WorkDefinitionFactory.copyWorkDefinition(taskWorkDef.getName() + "2", taskWorkDef, resultData); + Assert.assertFalse("Should be no errors", resultData.isErrors()); + WorkDefinitionFactory.addWorkDefinition(differentTaskWorkDef); + + // set teamWf2 to use that work def for tasks + IAtsTeamDefinition teamDef = teamWf2.getTeamDefinition(); + teamDef.setRelatedTaskWorkDefinition(differentTaskWorkDef.getName()); + + IAtsWorkDefinition newTaskWorkDef = + WorkDefinitionFactory.getWorkDefinitionForTaskNotYetCreated(teamWf2).getWorkDefinition(); + Assert.assertNotNull(taskWorkDef); + Assert.assertNotSame("Should be different", taskWorkDef, newTaskWorkDef); + Result result = TaskManager.moveTasks(teamWf2, Arrays.asList(taskToMove)); + + Assert.assertTrue("This should failed: " + result.getText(), result.isFalse()); + } + + /** + * Test can move task to teamWf if it defines/overrides i t's own WorkDefinition; eg. WorkDef specified in Task + * attribute + */ + @org.junit.Test + public void testMoveTasks_diffWorkDefinitionsButTaskOverride() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("testMoveTasks - diffWorkDefinitionsButTaskOverride"); + TaskArtifact taskToMove = AtsTestUtil.getOrCreateTaskOffTeamWf1(); + TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); + IAtsWorkDefinition taskWorkDef = WorkDefinitionFactory.getWorkDefinitionForTask(taskToMove).getWorkDefinition(); + + // create new task work def + XResultData resultData = new XResultData(); + IAtsWorkDefinition differentTaskWorkDef = + WorkDefinitionFactory.copyWorkDefinition(taskWorkDef.getName() + "2", taskWorkDef, resultData); + Assert.assertFalse("Should be no errors", resultData.isErrors()); + WorkDefinitionFactory.addWorkDefinition(differentTaskWorkDef); + + // set work definition override on task; move should go through + taskToMove.setSoleAttributeValue(AtsAttributeTypes.WorkflowDefinition, differentTaskWorkDef.getName()); + taskToMove.persist("testMoveTasks - set workDef attribute on task"); + + IAtsWorkDefinition newTaskWorkDef = + WorkDefinitionFactory.getWorkDefinitionForTaskNotYetCreated(teamWf2).getWorkDefinition(); + Assert.assertNotNull(taskWorkDef); + Assert.assertSame("Should be same", taskWorkDef, newTaskWorkDef); + Result result = TaskManager.moveTasks(teamWf2, Arrays.asList(taskToMove)); + + Assert.assertTrue("This should pass: " + result.getText(), result.isTrue()); + } + + @org.junit.Test + public void testTransitionToCompletedThenInWork() throws OseeCoreException { + + AtsTestUtil.cleanupAndReset("TaskManagerTest - TransitionToCompleted"); + + TaskArtifact taskArt = AtsTestUtil.getOrCreateTaskOffTeamWf1(); + + // ensure nothing dirty + AtsTestUtil.validateArtifactCache(); + + // transition to Completed + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), + getClass().getSimpleName() + " testTransitionToCompletedThenInWork() 1"); + Result result = TaskManager.transitionToCompleted(taskArt, 0.0, 3, transaction); + Assert.assertEquals(Result.TrueResult, result); + transaction.execute(); + + Assert.assertEquals(TaskStates.Completed.getName(), taskArt.getCurrentStateName()); + Assert.assertEquals(3.0, HoursSpentUtil.getHoursSpentTotal(taskArt)); + Assert.assertEquals("", taskArt.getStateMgr().getAssigneesStr()); + + // ensure nothing dirty + AtsTestUtil.validateArtifactCache(); + + // transition back to InWork + transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), + getClass().getSimpleName() + " testTransitionToCompletedThenInWork() 2"); + result = TaskManager.transitionToInWork(taskArt, AtsUsersClient.getUser(), 45, .5, transaction); + Assert.assertEquals(Result.TrueResult, result); + transaction.execute(); + Assert.assertEquals(TaskStates.InWork.getName(), taskArt.getCurrentStateName()); + Assert.assertEquals(3.5, HoursSpentUtil.getHoursSpentTotal(taskArt)); + Assert.assertEquals("Joe Smith", taskArt.getStateMgr().getAssigneesStr()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/createTasks/AtsCoreClient_CreateTasks_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/createTasks/AtsCoreClient_CreateTasks_Suite.java new file mode 100644 index 00000000000..778a215ce10 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/createTasks/AtsCoreClient_CreateTasks_Suite.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.task.createTasks; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({CreateTasksOperationTest.class}) +public class AtsCoreClient_CreateTasks_Suite { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_CreateTasks_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_CreateTasks_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/createTasks/CreateTasksOperationTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/createTasks/CreateTasksOperationTest.java new file mode 100644 index 00000000000..6597fc53998 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/task/createTasks/CreateTasksOperationTest.java @@ -0,0 +1,507 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.task.createTasks; + +import java.rmi.activation.Activator; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.List; +import java.util.logging.Level; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.api.version.IAtsVersion; +import org.eclipse.osee.ats.client.demo.DemoSawBuilds; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.branch.AtsBranchManagerCore; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.task.createtasks.CreateTasksOperation; +import org.eclipse.osee.ats.core.client.task.createtasks.GenerateTaskOpList; +import org.eclipse.osee.ats.core.client.task.createtasks.ITaskTitleProvider; +import org.eclipse.osee.ats.core.client.task.createtasks.TaskEnum; +import org.eclipse.osee.ats.core.client.task.createtasks.TaskMetadata; +import org.eclipse.osee.ats.core.client.task.createtasks.TaskOpModify; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.config.AtsVersionService; +import org.eclipse.osee.ats.core.users.AtsUsers; +import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; +import org.eclipse.osee.framework.core.exception.MultipleAttributesExist; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.operation.NullOperationLogger; +import org.eclipse.osee.framework.core.operation.OperationLogger; +import org.eclipse.osee.framework.core.operation.Operations; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.core.util.XResultDataFile; +import org.eclipse.osee.framework.jdk.core.util.Collections; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; +import org.eclipse.osee.framework.skynet.core.change.Change; +import org.eclipse.osee.framework.skynet.core.change.IChangeWorker; +import org.eclipse.osee.framework.skynet.core.revision.ChangeData; +import org.eclipse.osee.framework.skynet.core.revision.LoadChangeType; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * Test unit for {@link CreateTasksOperation} + * + * @author Shawn F. Cook + */ +public class CreateTasksOperationTest { + + private final static String mockTaskTitlePrefix = "Task for ChangedArt:"; + private final static String artifactNamePrefix = CreateTasksOperationTest.class.getSimpleName(); + private boolean isPopulated = false; + private GenerateTaskOpList genTaskOpList; + private TeamWorkFlowArtifact destTeamWf1_Proper; + private TeamWorkFlowArtifact destTeamWf2_ChangesWithoutTasks; + private TeamWorkFlowArtifact destTeamWf3_TasksWithoutChanges; + private TeamWorkFlowArtifact reqTeamWf; + private IAtsActionableItem aia1_Proper; + private IAtsActionableItem aia2_ChangesWithoutTasks; + private IAtsActionableItem aia3_TasksWithoutChanges; + private IAtsVersion ver1_Proper; + private IAtsVersion ver2_ChangesWithoutTasks; + private IAtsVersion ver3_TasksWithoutChanges; + private ChangeData changeData_Proper; + private ChangeData changeData_ChangesWithoutTasks; + private ChangeData changeData_TasksWithoutChanges; + + @BeforeClass + @AfterClass + public static void cleanup() throws Exception { + AtsTestUtil.cleanup(); + } + + private void assert_Tasks_OriginalData(TeamWorkFlowArtifact teamWf) throws MultipleAttributesExist, OseeCoreException { + Collection taskArts = teamWf.getTaskArtifacts(); + for (TaskArtifact taskArt : taskArts) { + //Verify that none of the tasks are the generated tasks. + Assert.assertTrue(taskArt.getName().contains(artifactNamePrefix)); + Assert.assertTrue(!taskArt.getName().contains(mockTaskTitlePrefix)); + + //Verify that non of the tasks had their notes modified. + String currentNoteValue = taskArt.getSoleAttributeValueAsString(AtsAttributeTypes.SmaNote, ""); + Assert.assertTrue(!currentNoteValue.contains(TaskOpModify.NO_MATCHING_CHANGE_REPORT_ARTIFACT)); + } + } + + private void assert_Tasks_NotesModified(TeamWorkFlowArtifact teamWf) throws MultipleAttributesExist, OseeCoreException { + Collection taskArts = teamWf.getTaskArtifacts(); + for (TaskArtifact taskArt : taskArts) { + String currentNoteValue = taskArt.getSoleAttributeValueAsString(AtsAttributeTypes.SmaNote, ""); + Assert.assertTrue(currentNoteValue.contains(TaskOpModify.NO_MATCHING_CHANGE_REPORT_ARTIFACT)); + } + } + + private void assert_Tasks_Generated(TeamWorkFlowArtifact teamWf) throws MultipleAttributesExist, OseeCoreException { + Collection taskArts = teamWf.getTaskArtifacts(); + for (TaskArtifact taskArt : taskArts) { + Assert.assertTrue(taskArt.getName().contains(mockTaskTitlePrefix)); + } + } + + private void runCreateTasksOperation(IAtsVersion destinationVersion, IAtsActionableItem actionableItemArt, ChangeData changeData) throws OseeCoreException { + OperationLogger stringLogger = NullOperationLogger.getSingleton(); + MockTaskTitleProvider taskTitleProvider = new MockTaskTitleProvider(); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), + artifactNamePrefix + " - testCreateTasksOperation"); + XResultDataFile resultData = new XResultDataFile(); + resultData.clear(); + + //Notice that the Actionable Item used is what will determine which TeamWF the CreateTasksOperation will chose + // Kind of more complicated testing environment than I would prefer, but that's how it goes. + CreateTasksOperation createTasksOp = + new CreateTasksOperation(destinationVersion, actionableItemArt, changeData, reqTeamWf, false, resultData, + transaction, stringLogger, taskTitleProvider); + Operations.executeWorkAndCheckStatus(createTasksOp); + + transaction.execute(); + + } + + @org.junit.Test + public void test_Case_Proper() throws OseeCoreException, InterruptedException { + ensurePopulated(); + + assert_Tasks_OriginalData(destTeamWf1_Proper); + assert_Tasks_OriginalData(destTeamWf2_ChangesWithoutTasks); + assert_Tasks_OriginalData(destTeamWf3_TasksWithoutChanges); + + //There should be NO changes to any of the data before or after this test. + runCreateTasksOperation(ver1_Proper, aia1_Proper, changeData_Proper); + + assert_Tasks_OriginalData(destTeamWf1_Proper); + assert_Tasks_OriginalData(destTeamWf2_ChangesWithoutTasks); + assert_Tasks_OriginalData(destTeamWf3_TasksWithoutChanges); + + cleanupAndReset(); + } + + @org.junit.Test + public void test_Case_ChangesWithoutTasks() throws OseeCoreException, InterruptedException { + ensurePopulated(); + + assert_Tasks_OriginalData(destTeamWf1_Proper); + assert_Tasks_OriginalData(destTeamWf2_ChangesWithoutTasks); + assert_Tasks_OriginalData(destTeamWf3_TasksWithoutChanges); + + //There should be NO changes to any of the data before or after this test. + runCreateTasksOperation(ver2_ChangesWithoutTasks, aia2_ChangesWithoutTasks, changeData_ChangesWithoutTasks); + + assert_Tasks_OriginalData(destTeamWf1_Proper); + assert_Tasks_Generated(destTeamWf2_ChangesWithoutTasks); + assert_Tasks_OriginalData(destTeamWf3_TasksWithoutChanges); + + cleanupAndReset(); + } + + @org.junit.Test + public void test_Case_TasksWithoutChanges() throws OseeCoreException, InterruptedException { + ensurePopulated(); + + assert_Tasks_OriginalData(destTeamWf1_Proper); + assert_Tasks_OriginalData(destTeamWf2_ChangesWithoutTasks); + assert_Tasks_OriginalData(destTeamWf3_TasksWithoutChanges); + + //There should be NO changes to any of the data before or after this test. + runCreateTasksOperation(ver3_TasksWithoutChanges, aia3_TasksWithoutChanges, changeData_TasksWithoutChanges); + + assert_Tasks_OriginalData(destTeamWf1_Proper); + assert_Tasks_OriginalData(destTeamWf2_ChangesWithoutTasks); + assert_Tasks_NotesModified(destTeamWf3_TasksWithoutChanges); + + cleanupAndReset(); + } + + @org.junit.Test + public void testGenerateTaskOpList() throws OseeCoreException, InterruptedException { + ensurePopulated(); + + //All changes and tasks should be accounted for - so no changes should be needed. + List metadatasProper = genTaskOpList.generate(changeData_Proper, destTeamWf1_Proper); + Assert.assertEquals(0, metadatasProper.size()); + + //Changes without tasks should result in task creation - one for each change + List metadatasChangesWithoutTasks = + genTaskOpList.generate(changeData_ChangesWithoutTasks, destTeamWf2_ChangesWithoutTasks); + Assert.assertEquals(changeData_ChangesWithoutTasks.getChanges().size(), metadatasChangesWithoutTasks.size()); + for (TaskMetadata metadata : metadatasChangesWithoutTasks) { + Assert.assertEquals(metadata.getTaskEnum(), TaskEnum.CREATE); + } + + //Tasks without changes should result in task modification - one for each task + List metadatasTasksWithoutChanges = + genTaskOpList.generate(changeData_TasksWithoutChanges, destTeamWf3_TasksWithoutChanges); + Assert.assertEquals(destTeamWf3_TasksWithoutChanges.getTaskArtifacts().size(), + metadatasTasksWithoutChanges.size()); + for (TaskMetadata metadata : metadatasProper) { + Assert.assertEquals(metadata.getTaskEnum(), TaskEnum.MODIFY); + } + + cleanupAndReset(); + } + + private void cleanupAndReset() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(artifactNamePrefix); + isPopulated = false; + } + + private void ensurePopulated() throws OseeCoreException, InterruptedException { + if (!isPopulated) { + AtsTestUtil.cleanupAndReset(artifactNamePrefix); + genTaskOpList = new GenerateTaskOpList(); + destTeamWf1_Proper = AtsTestUtil.getTeamWf(); + destTeamWf2_ChangesWithoutTasks = AtsTestUtil.getTeamWf2(); + destTeamWf3_TasksWithoutChanges = AtsTestUtil.getTeamWf3(); + destTeamWf1_Proper.setName(destTeamWf1_Proper.getName() + " Proper"); + destTeamWf2_ChangesWithoutTasks.setName(destTeamWf2_ChangesWithoutTasks.getName() + " ChangesWithoutTasks"); + destTeamWf3_TasksWithoutChanges.setName(destTeamWf3_TasksWithoutChanges.getName() + " TasksWithoutChanges"); + + ver1_Proper = AtsTestUtil.getVerArt1(); + ver2_ChangesWithoutTasks = AtsTestUtil.getVerArt2(); + ver3_TasksWithoutChanges = AtsTestUtil.getVerArt3(); + ver1_Proper.setName(ver1_Proper.getName() + " Proper"); + ver2_ChangesWithoutTasks.setName(ver2_ChangesWithoutTasks.getName() + " ChangesWithoutTasks"); + ver3_TasksWithoutChanges.setName(ver3_TasksWithoutChanges.getName() + " TasksWithoutChanges"); + + AtsVersionService.get().setTargetedVersion(destTeamWf1_Proper, ver1_Proper); + AtsVersionService.get().setTargetedVersion(destTeamWf2_ChangesWithoutTasks, ver2_ChangesWithoutTasks); + AtsVersionService.get().setTargetedVersion(destTeamWf3_TasksWithoutChanges, ver3_TasksWithoutChanges); + + IAtsVersion verArt4 = AtsTestUtil.getVerArt4(); + verArt4.setBaselineBranchGuid(DemoSawBuilds.SAW_Bld_1.getGuid()); + verArt4.setAllowCreateBranch(true); + reqTeamWf = AtsTestUtil.getTeamWf4(); + Result result = AtsBranchManagerCore.createWorkingBranch_Validate(reqTeamWf); + Job createBranchJob = AtsBranchManagerCore.createWorkingBranch_Create(reqTeamWf); + createBranchJob.join(); + int count = 0; + while (count++ < 10 && reqTeamWf.getWorkingBranch() == null) { + Thread.sleep(200);//Needed due to some multi-threaded nonsense + } + reqTeamWf.setRelations(AtsRelationTypes.Derive_To, Collections.getAggregate(destTeamWf1_Proper, + destTeamWf2_ChangesWithoutTasks, destTeamWf3_TasksWithoutChanges)); + destTeamWf1_Proper.setRelations(AtsRelationTypes.Derive_From, Collections.getAggregate(reqTeamWf)); + destTeamWf2_ChangesWithoutTasks.setRelations(AtsRelationTypes.Derive_From, Collections.getAggregate(reqTeamWf)); + destTeamWf3_TasksWithoutChanges.setRelations(AtsRelationTypes.Derive_From, Collections.getAggregate(reqTeamWf)); + + changeData_Proper = createProperChangesAndTasks(destTeamWf1_Proper); + changeData_ChangesWithoutTasks = createChangesWithoutTasks(); + changeData_TasksWithoutChanges = createTasksWithoutChanges(destTeamWf3_TasksWithoutChanges); + + aia1_Proper = AtsTestUtil.getTestAi(); + aia2_ChangesWithoutTasks = AtsTestUtil.getTestAi2(); + aia3_TasksWithoutChanges = AtsTestUtil.getTestAi3(); + aia1_Proper.setName(aia1_Proper.getName() + " Proper"); + aia2_ChangesWithoutTasks.setName(aia2_ChangesWithoutTasks.getName() + " ChangesWithoutTasks"); + aia3_TasksWithoutChanges.setName(aia1_Proper.getName() + " TasksWithoutChanges"); + + isPopulated = true; + } + } + + private ChangeData createProperChangesAndTasks(TeamWorkFlowArtifact destTeamWf) throws OseeCoreException { + + //Create MockChange objects + Artifact changeArt01 = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " Change Art 01 - Proper"); + Artifact changeArt02 = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " Change Art 02 - Proper"); + Artifact changeArt03 = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " Change Art 03 - Proper"); + Artifact changeArt04 = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " Change Art 04 - Proper"); + Artifact changeArt05 = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " Change Art 05 - Proper"); + + Change mockChange01 = new MockChange(changeArt01); + Change mockChange02 = new MockChange(changeArt02); + Change mockChange03 = new MockChange(changeArt03); + Change mockChange04 = new MockChange(changeArt04); + Change mockChange05 = new MockChange(changeArt05); + + Date createdDate = new Date(); + + TaskArtifact task01 = + destTeamWf.createNewTask(artifactNamePrefix + " Task 01", createdDate, AtsUsers.getSystemUser()); + TaskArtifact task02 = + destTeamWf.createNewTask(artifactNamePrefix + " Task 02", createdDate, AtsUsers.getSystemUser()); + TaskArtifact task03 = + destTeamWf.createNewTask(artifactNamePrefix + " Task 03", createdDate, AtsUsers.getSystemUser()); + TaskArtifact task04 = + destTeamWf.createNewTask(artifactNamePrefix + " Task 04", createdDate, AtsUsers.getSystemUser()); + TaskArtifact task05 = + destTeamWf.createNewTask(artifactNamePrefix + " Task 05", createdDate, AtsUsers.getSystemUser()); + + task01.setSoleAttributeFromString(AtsAttributeTypes.TaskToChangedArtifactReference, changeArt01.getGuid()); + task02.setSoleAttributeFromString(AtsAttributeTypes.TaskToChangedArtifactReference, changeArt02.getGuid()); + task03.setSoleAttributeFromString(AtsAttributeTypes.TaskToChangedArtifactReference, changeArt03.getGuid()); + task04.setSoleAttributeFromString(AtsAttributeTypes.TaskToChangedArtifactReference, changeArt04.getGuid()); + task05.setSoleAttributeFromString(AtsAttributeTypes.TaskToChangedArtifactReference, changeArt05.getGuid()); + + SkynetTransaction transaction = + TransactionManager.createTransaction(reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " - createProperChangesAndTasks"); + changeArt01.persist(transaction); + changeArt02.persist(transaction); + changeArt03.persist(transaction); + changeArt04.persist(transaction); + changeArt05.persist(transaction); + transaction.execute(); + + SkynetTransaction transaction2 = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), + artifactNamePrefix + " - createProperChangesAndTasks - tasks"); + task01.persist(transaction2); + task02.persist(transaction2); + task03.persist(transaction2); + task04.persist(transaction2); + task05.persist(transaction2); + transaction2.execute(); + + Collection changes = + new ArrayList(Collections.getAggregate(mockChange01, mockChange02, mockChange03, mockChange04, + mockChange05)); + + ChangeData changeData = new ChangeData(changes); + + return changeData; + } + + private ChangeData createChangesWithoutTasks() throws OseeCoreException { + //Create MockChange objects + Artifact changeArt01 = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " Change Art 01 - No task"); + Artifact changeArt02 = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " Change Art 02 - No task"); + Artifact changeArt03 = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " Change Art 03 - No task"); + Artifact changeArt04 = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " Change Art 04 - No task"); + Artifact changeArt05 = + ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " Change Art 05 - No task"); + + Change mockChange01 = new MockChange(changeArt01); + Change mockChange02 = new MockChange(changeArt02); + Change mockChange03 = new MockChange(changeArt03); + Change mockChange04 = new MockChange(changeArt04); + Change mockChange05 = new MockChange(changeArt05); + + SkynetTransaction transaction = + TransactionManager.createTransaction(reqTeamWf.getWorkingBranch(), + artifactNamePrefix + " - createChangesWithoutTasks"); + changeArt01.persist(transaction); + changeArt02.persist(transaction); + changeArt03.persist(transaction); + changeArt04.persist(transaction); + changeArt05.persist(transaction); + transaction.execute(); + + Collection changes = + new ArrayList(Collections.getAggregate(mockChange01, mockChange02, mockChange03, mockChange04, + mockChange05)); + + ChangeData changeData = new ChangeData(changes); + + return changeData; + } + + private ChangeData createTasksWithoutChanges(TeamWorkFlowArtifact destTeamWf) throws OseeCoreException { + Date createdDate = new Date(); + TaskArtifact task01 = + destTeamWf.createNewTask(artifactNamePrefix + " Task 01 - No changed artifact", createdDate, + AtsUsers.getSystemUser()); + TaskArtifact task02 = + destTeamWf.createNewTask(artifactNamePrefix + " Task 02 - No changed artifact", createdDate, + AtsUsers.getSystemUser()); + TaskArtifact task03 = + destTeamWf.createNewTask(artifactNamePrefix + " Task 03 - No changed artifact", createdDate, + AtsUsers.getSystemUser()); + TaskArtifact task04 = + destTeamWf.createNewTask(artifactNamePrefix + " Task 04 - No changed artifact", createdDate, + AtsUsers.getSystemUser()); + TaskArtifact task05 = + destTeamWf.createNewTask(artifactNamePrefix + " Task 05 - No changed artifact", createdDate, + AtsUsers.getSystemUser()); + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), + artifactNamePrefix + " - createTasksWithoutChanges"); + task01.persist(transaction); + task02.persist(transaction); + task03.persist(transaction); + task04.persist(transaction); + task05.persist(transaction); + transaction.execute(); + + Collection changes = new ArrayList(); + + ChangeData changeData = new ChangeData(changes); + + return changeData; + } + private class MockChange extends Change { + + public MockChange(Artifact changeArtifact) { + super(null, 0, 0, null, null, false, changeArtifact, null); + } + + @Override + public int getItemTypeId() { + OseeLog.log(Activator.class, Level.WARNING, + "CreateTasksOperationTest.MockChange.getItemTypeId() - Unimplemented method called"); + return 0; + } + + @Override + public String getIsValue() { + OseeLog.log(Activator.class, Level.WARNING, + "CreateTasksOperationTest.MockChange.getIsValue() - Unimplemented method called"); + return null; + } + + @Override + public String getWasValue() { + OseeLog.log(Activator.class, Level.WARNING, + "CreateTasksOperationTest.MockChange.getWasValue() - Unimplemented method called"); + return null; + } + + @Override + public String getItemTypeName() { + OseeLog.log(Activator.class, Level.WARNING, + "CreateTasksOperationTest.MockChange.getItemTypeName() - Unimplemented method called"); + return null; + } + + @Override + public String getName() { + return this.getChangeArtifact().getName(); + } + + @Override + public String getItemKind() { + OseeLog.log(Activator.class, Level.WARNING, + "CreateTasksOperationTest.MockChange.getItemKind() - Unimplemented method called"); + return null; + } + + @Override + public int getItemId() { + OseeLog.log(Activator.class, Level.WARNING, + "CreateTasksOperationTest.MockChange.getItemId() - Unimplemented method called"); + return 0; + } + + @Override + public LoadChangeType getChangeType() { + OseeLog.log(Activator.class, Level.WARNING, + "CreateTasksOperationTest.MockChange.getChangeType() - Unimplemented method called"); + return null; + } + + @Override + public Class getWorker() { + OseeLog.log(Activator.class, Level.WARNING, + "CreateTasksOperationTest.MockChange.getWorker() - Unimplemented method called"); + return null; + } + } + + private class MockTaskTitleProvider implements ITaskTitleProvider { + @Override + public String getTaskTitle(TaskMetadata metadata) { + Artifact changedArt = metadata.getChangedArtifact(); + String changedArtGuid = changedArt.getGuid(); + return mockTaskTitlePrefix + changedArtGuid; + } + + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/AtsCoreClient_Util_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/AtsCoreClient_Util_Suite.java new file mode 100644 index 00000000000..c719757d9d6 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/AtsCoreClient_Util_Suite.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.util; + +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsUserTest.class, CopyActionDetailsTest.class}) +public class AtsCoreClient_Util_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Util_Suite.class.getSimpleName()); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Util_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/AtsUserTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/AtsUserTest.java new file mode 100644 index 00000000000..79f931081d4 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/AtsUserTest.java @@ -0,0 +1,123 @@ +/* + * Created on Mar 1, 2012 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.util; + +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.core.client.util.AtsUser; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.framework.core.data.Identity; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.jdk.core.util.Collections; +import org.eclipse.osee.framework.skynet.core.User; +import org.eclipse.osee.framework.skynet.core.UserManager; + +/** + * @author Donald G. Dunne + */ +public class AtsUserTest { + + @org.junit.Test + public void testGetUserId() throws OseeCoreException { + User user = UserManager.getUser(); + AtsUser atsUser = new AtsUser(user); + Assert.assertEquals(user.getUserId(), atsUser.getUserId()); + } + + @org.junit.Test + public void testGetName() throws OseeCoreException { + User user = UserManager.getUser(); + AtsUser atsUser = new AtsUser(user); + Assert.assertEquals(user.getName(), atsUser.getName()); + } + + @org.junit.Test + public void testGetEmail() throws OseeCoreException { + User user = UserManager.getUser(); + AtsUser atsUser = new AtsUser(user); + Assert.assertEquals(user.getEmail(), atsUser.getEmail()); + } + + @org.junit.Test + public void testEquals() throws OseeCoreException { + User user = UserManager.getUser(); + AtsUser atsUser = new AtsUser(user); + Assert.assertEquals(atsUser, user); + + IAtsUser atsUser2 = getAtsUser(user.getName(), user.getUserId()); + Assert.assertEquals(atsUser, atsUser2); + } + + @org.junit.Test + public void testRemove() throws OseeCoreException { + Collection assignees = new HashSet(); + assignees.add(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)); + assignees.add(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + Assert.assertTrue(Collections.isEqual( + assignees, + Arrays.asList(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), + AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)))); + + assignees.remove(AtsUsersClient.getUser()); + Assert.assertTrue(Collections.isEqual(assignees, + Arrays.asList(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)))); + } + + public IAtsUser getAtsUser(final String name, final String userId) { + return new IAtsUser() { + + @Override + public int compareTo(Object o) { + return 0; + } + + @Override + public String getName() { + return name; + } + + @Override + public String getHumanReadableId() { + return null; + } + + @Override + public String getGuid() { + return null; + } + + @Override + public String getDescription() { + return null; + } + + @Override + public boolean isActive() { + return false; + } + + @Override + public String getUserId() { + return userId; + } + + @Override + public String getEmail() { + return null; + } + + @Override + public boolean matches(Identity... identities) { + return false; + } + }; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/CopyActionDetailsTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/CopyActionDetailsTest.java new file mode 100644 index 00000000000..afabc719182 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/util/CopyActionDetailsTest.java @@ -0,0 +1,67 @@ +/* + * Created on Oct 21, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.util; + +import junit.framework.Assert; +import org.eclipse.osee.ats.api.workdef.ReviewBlockType; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil.AtsTestUtilState; +import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.util.CopyActionDetails; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class CopyActionDetailsTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws OseeCoreException { + AtsTestUtil.cleanup(); + } + + @Test + public void testGetDetailsStringForTeamWf() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + String str = new CopyActionDetails(AtsTestUtil.getTeamWf()).getDetailsString(); + Assert.assertEquals( + "\"Team Workflow\" - " + AtsTestUtil.getTeamWf().getHumanReadableId() + " - \"AtsTestUtil - Team WF [CopyActionDetailsTest]\"", + str); + } + + @Test + public void testGetDetailsStringForTask() throws OseeCoreException { + String str = new CopyActionDetails(AtsTestUtil.getOrCreateTaskOffTeamWf1()).getDetailsString(); + Assert.assertEquals( + "\"Task\" - " + AtsTestUtil.getOrCreateTaskOffTeamWf1().getHumanReadableId() + " - \"AtsTestUtil - Task [CopyActionDetailsTest]\"", + str); + } + + @Test + public void testGetDetailsStringForDecisionReview() throws OseeCoreException { + DecisionReviewArtifact review = + AtsTestUtil.getOrCreateDecisionReview(ReviewBlockType.Commit, AtsTestUtilState.Analyze); + String str = new CopyActionDetails(review).getDetailsString(); + Assert.assertEquals( + "\"Decision Review\" - " + review.getHumanReadableId() + " - \"AtsTestUtil Test Decision Review\"", str); + review.persist(getClass().getSimpleName()); + } + + @Test + public void testGetDetailsStringForPeerReview() throws OseeCoreException { + PeerToPeerReviewArtifact review = + AtsTestUtil.getOrCreatePeerReview(ReviewBlockType.None, AtsTestUtilState.Analyze, null); + String str = new CopyActionDetails(review).getDetailsString(); + Assert.assertEquals( + "\"PeerToPeer Review\" - " + review.getHumanReadableId() + " - \"AtsTestUtil Test Peer Review\"", str); + review.persist(getClass().getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/AtsCoreClient_Workflow_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/AtsCoreClient_Workflow_Suite.java new file mode 100644 index 00000000000..c9ed95b73e2 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/AtsCoreClient_Workflow_Suite.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow; + +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.note.NoteTestSuite; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.transition.AtsCoreClient_Transition_Suite; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + NoteTestSuite.class, + AtsCoreClient_Transition_Suite.class, + ConvertWorkflowStatesOperationTest.class}) +public class AtsCoreClient_Workflow_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Workflow_Suite.class.getSimpleName()); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Workflow_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/ConvertWorkflowStatesOperationTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/ConvertWorkflowStatesOperationTest.java new file mode 100644 index 00000000000..abc9b3d7a92 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/ConvertWorkflowStatesOperationTest.java @@ -0,0 +1,150 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.client.workflow.AbstractWorkflowArtifact; +import org.eclipse.osee.ats.core.client.workflow.ConvertWorkflowStatesOperation; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.operation.Operations; +import org.eclipse.osee.framework.core.util.XResultData; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Test case for {@link ConvertWorkflowStatesOperation} + * + * @author Donald G. Dunne + */ +public class ConvertWorkflowStatesOperationTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws OseeCoreException { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranchToken(), + "ConvertWorkflowStatesOperationTest.cleanup"); + for (Artifact art : ArtifactQuery.getArtifactListFromTypeAndName(AtsArtifactTypes.TeamWorkflow, + "ConvertWorkflowStatesOperationTest", AtsUtilCore.getAtsBranchToken(), QueryOptions.CONTAINS_MATCH_OPTIONS)) { + art.deleteAndPersist(transaction); + } + transaction.execute(); + } + + @Test + public void testDoWork_errorChecking() throws Exception { + Map fromStateToStateMap = new HashMap(); + List workflows = new ArrayList(); + boolean persist = false; + XResultData rd = new XResultData(false); + ConvertWorkflowStatesOperation operation = + new ConvertWorkflowStatesOperation(fromStateToStateMap, workflows, persist, rd); + Operations.executeWorkAndCheckStatus(operation); + + Assert.assertEquals("Error: Must enter FromToState pairs\n", rd.toString()); + + fromStateToStateMap.put("Endor;se", "New\"StateName"); + rd.clear(); + + Operations.executeWorkAndCheckStatus(operation); + Assert.assertEquals("Should be two state name errors\n", 2, rd.getNumErrors()); + + fromStateToStateMap.clear(); + fromStateToStateMap.put("Endorse", "NewStateName"); + + rd.clear(); + + Operations.executeWorkAndCheckStatus(operation); + Assert.assertEquals("Error: No workflows entered\n", rd.toString()); + } + + @Test + public void testDoWork() throws Exception { + Map fromStateToStateMap = new HashMap(); + fromStateToStateMap.put("Endorse", "NewEndorse"); + fromStateToStateMap.put("Analyze", "NewAnalyze"); + + List workflows = new ArrayList(); + Artifact teamWf = + ArtifactTypeManager.addArtifact(AtsArtifactTypes.TeamWorkflow, AtsUtilCore.getAtsBranchToken(), + "ConvertWorkflowStatesOperationTest.testDoWork"); + teamWf.addAttribute(AtsAttributeTypes.CurrentState, "Endorse;"); + teamWf.addAttribute(AtsAttributeTypes.State, "Analyze;"); + teamWf.addAttribute(AtsAttributeTypes.State, "Endorse;"); + teamWf.addAttribute(AtsAttributeTypes.CompletedFromState, "Analyze"); + teamWf.addAttribute(AtsAttributeTypes.CancelledFromState, "Endorse"); + teamWf.addAttribute(AtsAttributeTypes.Log, "log state=\"Endorse\", state=\"Analyze\""); + workflows.add((AbstractWorkflowArtifact) teamWf); + + boolean persist = false; + XResultData rd = new XResultData(false); + + ConvertWorkflowStatesOperation operation = + new ConvertWorkflowStatesOperation(fromStateToStateMap, workflows, persist, rd); + Operations.executeWorkAndCheckStatus(operation); + + Assert.assertFalse(rd.isErrors()); + Assert.assertEquals("NewEndorse;", teamWf.getSoleAttributeValue(AtsAttributeTypes.CurrentState, "")); + List stateNames = teamWf.getAttributesToStringList(AtsAttributeTypes.State); + Assert.assertEquals(2, stateNames.size()); + Assert.assertTrue(stateNames.contains("NewAnalyze;")); + Assert.assertTrue(stateNames.contains("NewEndorse;")); + Assert.assertEquals("NewAnalyze", teamWf.getSoleAttributeValue(AtsAttributeTypes.CompletedFromState, "")); + Assert.assertEquals("NewEndorse", teamWf.getSoleAttributeValue(AtsAttributeTypes.CancelledFromState, "")); + Assert.assertEquals("log state=\"NewEndorse\", state=\"NewAnalyze\"", + teamWf.getSoleAttributeValue(AtsAttributeTypes.Log, "")); + + Assert.assertTrue(teamWf.isDirty()); + // decache to cleanup test, cause artifact is not persisted + ArtifactCache.deCache(teamWf); + } + + @Test + public void testDoWork_persist() throws Exception { + Map fromStateToStateMap = new HashMap(); + fromStateToStateMap.put("Endorse", "NewEndorse"); + + List workflows = new ArrayList(); + Artifact teamWf = + ArtifactTypeManager.addArtifact(AtsArtifactTypes.TeamWorkflow, AtsUtilCore.getAtsBranchToken(), + "ConvertWorkflowStatesOperationTest.testDoWork_persist"); + teamWf.addAttribute(AtsAttributeTypes.CurrentState, "Endorse;"); + workflows.add((AbstractWorkflowArtifact) teamWf); + + boolean persist = true; + XResultData rd = new XResultData(false); + + ConvertWorkflowStatesOperation operation = + new ConvertWorkflowStatesOperation(fromStateToStateMap, workflows, persist, rd); + Operations.executeWorkAndCheckStatus(operation); + + Assert.assertFalse(rd.isErrors()); + Assert.assertEquals("NewEndorse;", teamWf.getSoleAttributeValue(AtsAttributeTypes.CurrentState, "")); + + Assert.assertFalse(teamWf.isDirty()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/AtsNoteTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/AtsNoteTest.java new file mode 100644 index 00000000000..0877a6c9022 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/AtsNoteTest.java @@ -0,0 +1,75 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.note; + +import java.util.Date; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.osee.ats.core.client.workflow.note.AtsNote; +import org.eclipse.osee.ats.core.client.workflow.note.INoteStorageProvider; +import org.eclipse.osee.ats.core.client.workflow.note.NoteItem; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class AtsNoteTest { + + @Test + public void testToAndFromStore() throws OseeCoreException { + Date date = new Date(); + SimpleNoteStore store = new SimpleNoteStore(); + AtsNote log = new AtsNote(store); + NoteItem item = NoteItemTest.getTestNoteItem(date); + log.addNoteItem(item); + + AtsNote log2 = new AtsNote(store); + Assert.assertEquals(1, log2.getNoteItems().size()); + NoteItem loadItem = log2.getNoteItems().iterator().next(); + NoteItemTest.validate(loadItem, date); + } + + public class SimpleNoteStore implements INoteStorageProvider { + + String store = ""; + + @Override + public String getNoteXml() { + return store; + } + + @Override + public IStatus saveNoteXml(String xml) { + store = xml; + return Status.OK_STATUS; + } + + @Override + public String getNoteTitle() { + return "This is the title"; + } + + @Override + public String getNoteId() { + return GUID.create(); + } + + @Override + public boolean isNoteable() { + return false; + } + + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/NoteItemTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/NoteItemTest.java new file mode 100644 index 00000000000..947eb028cb0 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/NoteItemTest.java @@ -0,0 +1,103 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.note; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.workflow.note.NoteItem; +import org.eclipse.osee.ats.core.client.workflow.note.NoteType; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.jdk.core.util.DateUtil; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author Donald G. Dunne + */ +public class NoteItemTest { + + @Test + public void testNoteItemNoteTypeStringStringUserString() throws OseeCoreException { + Date date = new Date(); + NoteItem item = + new NoteItem(NoteType.Comment, "Implement", String.valueOf(date.getTime()), AtsUsersClient.getUser(), "my msg"); + validate(item, date); + } + + public static void validate(NoteItem item, Date date) throws OseeCoreException { + Assert.assertEquals(NoteType.Comment, item.getType()); + Assert.assertEquals("Implement", item.getState()); + Assert.assertEquals(AtsUsersClient.getUser(), item.getUser()); + Assert.assertEquals("my msg", item.getMsg()); + } + + public static NoteItem getTestNoteItem(Date date) throws OseeCoreException { + return new NoteItem(NoteType.Comment, "Implement", String.valueOf(date.getTime()), AtsUsersClient.getUser(), "my msg"); + } + + @Test + public void testNoteItemStringStringStringUserString() throws OseeCoreException { + Date date = new Date(); + NoteItem item = + new NoteItem(NoteType.Comment.name(), "Implement", String.valueOf(date.getTime()), AtsUsersClient.getUser(), + "my msg"); + validate(item, date); + } + + @Test + public void testToString() throws OseeCoreException { + Date date = new Date(); + NoteItem item = getTestNoteItem(date); + + Assert.assertEquals( + "Note: Comment from " + AtsUsersClient.getUser().getName() + " for \"Implement\" on " + DateUtil.getMMDDYYHHMM(date) + " - my msg", + item.toString()); + } + + @Test + public void testToXmlFromXml() throws OseeCoreException { + Date date = new Date(); + NoteItem item = getTestNoteItem(date); + NoteItem item2 = + new NoteItem(NoteType.Question.name(), "Analyze", String.valueOf(date.getTime()), AtsUsersClient.getUser(), + "another message"); + + String xml = NoteItem.toXml(Arrays.asList(item, item2)); + Assert.assertEquals( + "" + // + "" + // + "", + xml); + + List items = NoteItem.fromXml(xml, "ASDF4"); + validate(items.iterator().next(), date); + + NoteItem fromXmlItem2 = items.get(1); + Assert.assertEquals(NoteType.Question, fromXmlItem2.getType()); + Assert.assertEquals("Analyze", fromXmlItem2.getState()); + Assert.assertEquals(AtsUsersClient.getUser(), fromXmlItem2.getUser()); + Assert.assertEquals("another message", fromXmlItem2.getMsg()); + + } + + @Test + public void testToHTML() throws OseeCoreException { + Date date = new Date(); + NoteItem item = getTestNoteItem(date); + + Assert.assertEquals( + "Note:Comment from " + AtsUsersClient.getUser().getName() + " for \"Implement\" on " + DateUtil.getMMDDYYHHMM(date) + " - my msg", + item.toHTML()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/NoteTestSuite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/NoteTestSuite.java new file mode 100644 index 00000000000..42998b2b5be --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/note/NoteTestSuite.java @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.note; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsNoteTest.class, NoteItemTest.class}) +public class NoteTestSuite { + // Test Suite +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/AtsCoreClient_Transition_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/AtsCoreClient_Transition_Suite.java new file mode 100644 index 00000000000..e91374e9bb5 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/AtsCoreClient_Transition_Suite.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.transition; + +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({TransitionManagerTest.class, StateManagerTest.class}) +public class AtsCoreClient_Transition_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsCoreClient_Transition_Suite.class.getSimpleName()); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsCoreClient_Transition_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/MockTransitionHelper.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/MockTransitionHelper.java new file mode 100644 index 00000000000..4de771dbfa5 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/MockTransitionHelper.java @@ -0,0 +1,106 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.transition; + +import java.util.Collection; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.workflow.AbstractWorkflowArtifact; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.framework.core.exception.OseeCoreException; + +/** + * Allows setting of workingBranchInWork and branchInCommit for testing purposes. If not set, uses default from + * TransitionHelper + * + * @author Donald G. Dunne + */ +public class MockTransitionHelper extends TransitionHelper { + public Boolean workingBranchInWork = null; + public Boolean branchInCommit = null; + public Boolean systemUser = null; + public Boolean systemUserAssigned = null; + public Boolean overrideTransitionValidityCheck = null; + + public MockTransitionHelper(String name, Collection awas, String toStateName, Collection toAssignees, String cancellationReason, TransitionOption... transitionOption) { + super(name, awas, toStateName, toAssignees, cancellationReason, transitionOption); + } + + @Override + public boolean isWorkingBranchInWork(TeamWorkFlowArtifact teamArt) throws OseeCoreException { + if (workingBranchInWork != null) { + return workingBranchInWork; + } + return super.isWorkingBranchInWork(teamArt); + } + + @Override + public boolean isBranchInCommit(TeamWorkFlowArtifact teamArt) throws OseeCoreException { + if (branchInCommit != null) { + return branchInCommit; + } + return super.isBranchInCommit(teamArt); + } + + public Boolean getWorkingBranchInWork() { + return workingBranchInWork; + } + + public void setWorkingBranchInWork(Boolean workingBranchInWork) { + this.workingBranchInWork = workingBranchInWork; + } + + public Boolean getBranchInCommit() { + return branchInCommit; + } + + public void setBranchInCommit(Boolean branchInCommit) { + this.branchInCommit = branchInCommit; + } + + @Override + public boolean isSystemUser() throws OseeCoreException { + if (systemUser != null) { + return systemUser; + } + return super.isSystemUser(); + } + + public void setSystemUser(Boolean systemUser) { + this.systemUser = systemUser; + } + + @Override + public boolean isSystemUserAssingee(AbstractWorkflowArtifact awa) throws OseeCoreException { + if (systemUserAssigned != null) { + return systemUserAssigned; + } + return super.isSystemUserAssingee(awa); + } + + public void setSystemUserAssigned(Boolean systemUserAssigned) { + this.systemUserAssigned = systemUserAssigned; + } + + @Override + public boolean isOverrideTransitionValidityCheck() { + if (overrideTransitionValidityCheck != null) { + return overrideTransitionValidityCheck; + } + return super.isOverrideTransitionValidityCheck(); + } + + public void setOverrideTransitionValidityCheck(Boolean overrideTransitionValidityCheck) { + this.overrideTransitionValidityCheck = overrideTransitionValidityCheck; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/StateManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/StateManagerTest.java new file mode 100644 index 00000000000..14be4b7711a --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/StateManagerTest.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.transition; + +import java.util.Collections; +import junit.framework.Assert; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.workflow.HoursSpentUtil; +import org.eclipse.osee.ats.core.client.workflow.StateManager; +import org.eclipse.osee.ats.core.client.workflow.transition.ITransitionHelper; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.junit.Test; + +/** + * @author John Misinco + */ +public class StateManagerTest { + + @Test + public void testUpdateMetrics() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); + + TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); + StateManager stateMgr = teamWf.getStateMgr(); + + stateMgr.updateMetrics(AtsTestUtil.getAnalyzeStateDef(), 1.1, 1, false); + + ITransitionHelper helper = + new MockTransitionHelper("dodad", Collections.singletonList(teamWf), + AtsTestUtil.getImplementStateDef().getName(), Collections.singleton(AtsUsersClient.getUser()), null); + TransitionManager manager = new TransitionManager(helper); + TransitionResults results = manager.handleAll(); + manager.getTransaction().execute(); + Assert.assertTrue(results.isEmpty()); + + stateMgr.updateMetrics(AtsTestUtil.getImplementStateDef(), 2.2, 1, false); + helper = + new MockTransitionHelper("dodad", Collections.singletonList(teamWf), + AtsTestUtil.getCompletedStateDef().getName(), Collections.singleton(AtsUsersClient.getUser()), null); + manager = new TransitionManager(helper); + results = manager.handleAll(); + manager.getTransaction().execute(); + + Assert.assertTrue(results.toString(), results.isEmpty()); + + Assert.assertEquals(3.3, HoursSpentUtil.getHoursSpentTotal(teamWf), 0.001); + + stateMgr.updateMetrics(AtsTestUtil.getCompletedStateDef(), -2.2, 1, false); + Assert.assertEquals(1.1, HoursSpentUtil.getHoursSpentTotal(teamWf), 0.001); + + stateMgr.updateMetrics(AtsTestUtil.getCompletedStateDef(), -2.2, 1, false); + Assert.assertEquals(0, HoursSpentUtil.getHoursSpentTotal(teamWf), 0.001); + + AtsTestUtil.cleanup(); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/TransitionManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/TransitionManagerTest.java new file mode 100644 index 00000000000..8ca6ccb796d --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/core/client/workflow/transition/TransitionManagerTest.java @@ -0,0 +1,608 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.core.client.workflow.transition; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.List; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.data.AtsRelationTypes; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; +import org.eclipse.osee.ats.api.workdef.IAtsWidgetDefinition; +import org.eclipse.osee.ats.api.workdef.IStateToken; +import org.eclipse.osee.ats.api.workdef.ReviewBlockType; +import org.eclipse.osee.ats.api.workdef.RuleDefinitionOption; +import org.eclipse.osee.ats.api.workdef.WidgetOption; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil.AtsTestUtilState; +import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; +import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; +import org.eclipse.osee.ats.core.client.review.DecisionReviewState; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.task.TaskManager; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.util.AtsUtilCore; +import org.eclipse.osee.ats.core.client.workflow.AbstractWorkflowArtifact; +import org.eclipse.osee.ats.core.client.workflow.transition.ITransitionListener; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionAdapter; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; +import org.eclipse.osee.ats.core.config.AtsVersionService; +import org.eclipse.osee.ats.core.workflow.transition.TransitionResult; +import org.eclipse.osee.ats.mocks.MockStateDefinition; +import org.eclipse.osee.framework.core.enums.SystemUser; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * Test unit for {@link TransitionManager} + * + * @author Donald G. Dunne + */ +public class TransitionManagerTest { + + private static List EMPTY_AWAS = new ArrayList(); + + @BeforeClass + @AfterClass + public static void cleanup() throws OseeCoreException { + AtsTestUtil.cleanup(); + } + + @org.junit.Test + public void testHandleTransitionValidation__NoAwas() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("TransitionManagerTest-A"); + TransitionHelper helper = + new TransitionHelper(getClass().getSimpleName(), EMPTY_AWAS, AtsTestUtil.getImplementStateDef().getName(), + Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(TransitionResult.NO_WORKFLOWS_PROVIDED_FOR_TRANSITION)); + } + + @org.junit.Test + public void testHandleTransitionValidation__ToStateNotNull() throws OseeCoreException { + TransitionHelper helper = + new TransitionHelper(getClass().getSimpleName(), Arrays.asList(AtsTestUtil.getTeamWf()), null, + Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(TransitionResult.TO_STATE_CANT_BE_NULL)); + } + + @org.junit.Test + public void testHandleTransitionValidation__InvalidToState() throws OseeCoreException { + TransitionHelper helper = + new TransitionHelper(getClass().getSimpleName(), Arrays.asList(AtsTestUtil.getTeamWf()), "InvalidStateName", + Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains("Transition-To State [InvalidStateName] does not exist for Work Definition [" + AtsTestUtil.getTeamWf().getWorkDefinition().getName() + "]")); + } + + @org.junit.Test + public void testHandleTransitionValidation__MustBeAssigned() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("TransitionManagerTest-B"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + IAtsTeamDefinition teamDef = teamArt.getTeamDefinition(); + Assert.assertNotNull(teamDef); + + TransitionHelper helper = + new TransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + + // First transition should be valid cause Joe Smith is assigned cause he created + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.toString(), results.isEmpty()); + + // Un-Assign Joe Smith + results.clear(); + Assert.assertFalse(helper.isPrivilegedEditEnabled()); + Assert.assertFalse(helper.isOverrideAssigneeCheck()); + teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(AtsTestUtil.getTeamWf(), TransitionResult.MUST_BE_ASSIGNED)); + + // Set PrivilegedEditEnabled edit enabled; no errors + results.clear(); + Assert.assertFalse(helper.isOverrideAssigneeCheck()); + helper.addTransitionOption(TransitionOption.PrivilegedEditEnabled); + Assert.assertTrue(helper.isPrivilegedEditEnabled()); + teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // Set OverrideAssigneeCheck + results.clear(); + helper.removeTransitionOption(TransitionOption.PrivilegedEditEnabled); + helper.addTransitionOption(TransitionOption.OverrideAssigneeCheck); + Assert.assertFalse(helper.isPrivilegedEditEnabled()); + Assert.assertTrue(helper.isOverrideAssigneeCheck()); + teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // Set UnAssigned, should be able to transition cause will be assigned as convenience + results.clear(); + helper.removeTransitionOption(TransitionOption.OverrideAssigneeCheck); + Assert.assertFalse(helper.isPrivilegedEditEnabled()); + Assert.assertFalse(helper.isOverrideAssigneeCheck()); + teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserFromToken(SystemUser.UnAssigned)); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // cleanup test + teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserFromToken(SystemUser.UnAssigned)); + } + + @org.junit.Test + public void testHandleTransitionValidation__WorkingBranchTransitionable() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("TransitionManagerTest-C"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + + // this should pass + transMgr.handleTransitionValidation(results); + Assert.assertTrue("Test wasn't reset to allow transition", results.isEmpty()); + + // attempt to transition to Implement with working branch + helper.setWorkingBranchInWork(true); + helper.setBranchInCommit(false); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(AtsTestUtil.getTeamWf(), TransitionResult.WORKING_BRANCH_EXISTS)); + + // attempt to cancel workflow with working branch + results.clear(); + helper.setWorkingBranchInWork(true); + helper.setBranchInCommit(false); + helper.setToStateName(TeamState.Cancelled.getName()); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(AtsTestUtil.getTeamWf(), TransitionResult.DELETE_WORKING_BRANCH_BEFORE_CANCEL)); + + // attempt to transition workflow with branch being committed + results.clear(); + helper.setWorkingBranchInWork(true); + helper.setBranchInCommit(true); + helper.setToStateName(TeamState.Implement.getName()); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(AtsTestUtil.getTeamWf(), TransitionResult.WORKING_BRANCH_BEING_COMMITTED)); + } + + @org.junit.Test + public void testHandleTransitionValidation__NoSystemUser() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("TransitionManagerTest-D"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + + // First transition should be valid cause Joe Smith is assigned cause he created + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + helper.setSystemUser(true); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(TransitionResult.CAN_NOT_TRANSITION_AS_SYSTEM_USER)); + + results.clear(); + helper.setSystemUser(false); + helper.setSystemUserAssigned(true); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(teamArt, TransitionResult.CAN_NOT_TRANSITION_WITH_SYSTEM_USER_ASSIGNED)); + } + + @org.junit.Test + public void testIsStateTransitionable__ValidateXWidgets__RequiredForTransition() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("TransitionManagerTest-1"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + IAtsStateDefinition fromStateDef = AtsTestUtil.getAnalyzeStateDef(); + fromStateDef.getLayoutItems().clear(); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + + // test that normal transition works + transMgr.handleTransitionValidation(results); + Assert.assertTrue("Test wasn't reset to allow transition", results.isEmpty()); + + IAtsWidgetDefinition estHoursWidget = AtsTestUtil.getEstHoursWidgetDef(); + fromStateDef.getLayoutItems().add(estHoursWidget); + IAtsWidgetDefinition workPackageWidget = AtsTestUtil.getWorkPackageWidgetDef(); + fromStateDef.getLayoutItems().add(workPackageWidget); + + // test that two widgets validate + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // test that estHours required fails validation + results.clear(); + estHoursWidget.getOptions().add(WidgetOption.REQUIRED_FOR_TRANSITION); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains("[Estimated Hours] is required for transition")); + + // test that workPackage required fails both widgets + results.clear(); + workPackageWidget.getOptions().add(WidgetOption.REQUIRED_FOR_TRANSITION); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains("[Estimated Hours] is required for transition")); + Assert.assertTrue(results.contains("[Work Package] is required for transition")); + } + + @org.junit.Test + public void testIsStateTransitionable__ValidateXWidgets__RequiredForCompletion() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("TransitionManagerTest-2"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + IAtsStateDefinition fromStateDef = AtsTestUtil.getAnalyzeStateDef(); + fromStateDef.getLayoutItems().clear(); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + + // test that normal transition works + transMgr.handleTransitionValidation(results); + Assert.assertTrue("Test wasn't reset to allow transition", results.isEmpty()); + + IAtsWidgetDefinition estHoursWidget = AtsTestUtil.getEstHoursWidgetDef(); + fromStateDef.getLayoutItems().add(estHoursWidget); + IAtsWidgetDefinition workPackageWidget = AtsTestUtil.getWorkPackageWidgetDef(); + fromStateDef.getLayoutItems().add(workPackageWidget); + + // test that two widgets validate + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // test that Work Package only widget required for normal transition + results.clear(); + helper.setToStateName(AtsTestUtil.getImplementStateDef().getName()); + estHoursWidget.getOptions().add(WidgetOption.REQUIRED_FOR_COMPLETION); + workPackageWidget.getOptions().add(WidgetOption.REQUIRED_FOR_TRANSITION); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains("[Work Package] is required for transition")); + + // test that Estimated House and Work Package required for transition to completed + results.clear(); + helper.setToStateName(AtsTestUtil.getCompletedStateDef().getName()); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains("[Estimated Hours] is required for transition to [Completed]")); + Assert.assertTrue(results.contains("[Work Package] is required for transition")); + + // test that neither are required for transition to canceled + results.clear(); + helper.setToStateName(AtsTestUtil.getCancelledStateDef().getName()); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // test that neither are required for transition to completed if overrideValidation is set + results.clear(); + helper.setToStateName(AtsTestUtil.getCompletedStateDef().getName()); + helper.setOverrideTransitionValidityCheck(true); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + } + + @org.junit.Test + public void testIsStateTransitionable__ValidateTasks() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("TransitionManagerTest-3"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + + // validate that can transition + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // validate that can't transition with InWork task + TaskArtifact taskArt = teamArt.createNewTask("New Tasks", new Date(), AtsUsersClient.getUser()); + results.clear(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(teamArt, TransitionResult.TASKS_NOT_COMPLETED)); + + MockStateDefinition teamCurrentState = (MockStateDefinition) teamArt.getStateDefinition(); + + try { + // test that can transition with AllowTransitionWithoutTaskCompletion rule on state + teamCurrentState.addRule(RuleDefinitionOption.AllowTransitionWithoutTaskCompletion.name()); + // transition task to completed + results.clear(); + + // should not get transition validation error now + results.clear(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // attempt to transition parent to cancelled, should not be able to transition with un-completed/cancelled tasks + helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getCancelledStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + transMgr = new TransitionManager(helper); + results.clear(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(teamArt, TransitionResult.TASKS_NOT_COMPLETED)); + + // Cleanup task by completing and validate can transition + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + TaskManager.transitionToCompleted(taskArt, 0.0, 0.1, transaction); + transaction.execute(); + results.clear(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + } finally { + // just in case test goes bad, make sure we remove this rule + teamCurrentState.removeRule(RuleDefinitionOption.AllowTransitionWithoutTaskCompletion.name()); + } + + } + + @org.junit.Test + public void testIsStateTransitionable__RequireTargetedVersion__FromTeamDef() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("TransitionManagerTest-4"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + + // validate that can transition + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // validate that can't transition without targeted version when team def rule is set + teamArt.getTeamDefinition().addRule(RuleDefinitionOption.RequireTargetedVersion.name()); + results.clear(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(teamArt, TransitionResult.MUST_BE_TARGETED_FOR_VERSION)); + + // set targeted version; transition validation should succeed + results.clear(); + AtsVersionService.get().setTargetedVersion(teamArt, AtsTestUtil.getVerArt1()); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + } + + @org.junit.Test + public void testIsStateTransitionable__RequireTargetedVersion__FromPageDef() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("TransitionManagerTest-5"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + + // validate that can transition + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // validate that can't transition without targeted version when team def rule is set + AtsTestUtil.getAnalyzeStateDef().addRule(RuleDefinitionOption.RequireTargetedVersion.name()); + results.clear(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(teamArt, TransitionResult.MUST_BE_TARGETED_FOR_VERSION)); + + // set targeted version; transition validation should succeed + results.clear(); + AtsVersionService.get().setTargetedVersion(teamArt, AtsTestUtil.getVerArt1()); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + } + + @org.junit.Test + public void testIsStateTransitionable__ReviewsCompleted() throws OseeCoreException { + + AtsTestUtil.cleanupAndReset("TransitionManagerTest-6"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + + // validate that can transition + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + DecisionReviewArtifact decArt = + AtsTestUtil.getOrCreateDecisionReview(ReviewBlockType.None, AtsTestUtilState.Analyze); + teamArt.addRelation(AtsRelationTypes.TeamWorkflowToReview_Review, decArt); + + // validate that can transition cause non-blocking review + results.clear(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // validate that can transition cause no transition blocking review + results.clear(); + decArt.setSoleAttributeValue(AtsAttributeTypes.ReviewBlocks, ReviewBlockType.Commit.name()); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // validate that can NOT transition cause blocking review + results.clear(); + decArt.setSoleAttributeValue(AtsAttributeTypes.ReviewBlocks, ReviewBlockType.Transition.name()); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(teamArt, TransitionResult.COMPLETE_BLOCKING_REVIEWS)); + + // validate that can transition cause review completed + results.clear(); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); + DecisionReviewManager.transitionTo(decArt, DecisionReviewState.Completed, AtsUsersClient.getUser(), false, + transaction); + transaction.execute(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + } + + @org.junit.Test + public void testHandleTransitionValidation__ExtensionPointCheck() throws OseeCoreException { + + AtsTestUtil.cleanupAndReset("TransitionManagerTest-7"); + TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + + // validate that can transition + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + // add transition listeners and verify can't transition + final String reason1 = "Don't want you to transition"; + final String reason2 = "Don't transition yet"; + final String exceptionStr = "This is the exception message"; + ITransitionListener listener1 = new TransitionAdapter() { + + @Override + public void transitioning(TransitionResults results, AbstractWorkflowArtifact sma, IStateToken fromState, IStateToken toState, Collection toAssignees) { + results.addResult(new TransitionResult(reason1)); + } + + }; + ITransitionListener listener2 = new TransitionAdapter() { + + @Override + public void transitioning(TransitionResults results, AbstractWorkflowArtifact sma, IStateToken fromState, IStateToken toState, Collection toAssignees) { + results.addResult(sma, new TransitionResult(reason2)); + } + + }; + ITransitionListener listener3 = new TransitionAdapter() { + + @Override + public void transitioning(TransitionResults results, AbstractWorkflowArtifact sma, IStateToken fromState, IStateToken toState, Collection toAssignees) { + // do nothing + } + + }; + ITransitionListener listener4 = new TransitionAdapter() { + + @Override + public void transitioning(TransitionResults results, AbstractWorkflowArtifact sma, IStateToken fromState, IStateToken toState, Collection toAssignees) throws OseeCoreException { + throw new OseeCoreException(exceptionStr); + } + + }; + try { + TransitionManager.addListener(listener1); + TransitionManager.addListener(listener2); + TransitionManager.addListener(listener3); + TransitionManager.addListener(listener4); + + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.contains(reason1)); + Assert.assertTrue(results.contains(reason2)); + Assert.assertTrue(results.contains(exceptionStr)); + } finally { + TransitionManager.removeListener(listener1); + TransitionManager.removeListener(listener2); + TransitionManager.removeListener(listener3); + TransitionManager.removeListener(listener4); + } + } + + /** + * Test that artifacts can be transitioned to the same state without error. (i.e.: An action in Implement can be + * transition to Implement a second time and the TransitionManager will just ignore this second, redundant + * transition) + */ + @org.junit.Test + public void testIsStateTransitionable__ToSameState() throws OseeCoreException { + AtsTestUtil.cleanupAndReset("TransitionManagerTest-8"); + TeamWorkFlowArtifact teamArt01 = AtsTestUtil.getTeamWf(); + TeamWorkFlowArtifact teamArt02 = AtsTestUtil.getTeamWf2(); + + //1. Initially transition workflows to Implement + MockTransitionHelper helper = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt01, teamArt02), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr = new TransitionManager(helper); + TransitionResults results = new TransitionResults(); + transMgr.handleTransitionValidation(results); + Assert.assertTrue(results.isEmpty()); + + //2. redundant transition workflows to Implement + MockTransitionHelper helper01 = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt01, teamArt02), + AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr01 = new TransitionManager(helper01); + TransitionResults results01 = new TransitionResults(); + transMgr01.handleTransitionValidation(results01); + Assert.assertTrue(results01.isEmpty()); + + //3. Transition one TeamWf to Complete + MockTransitionHelper helper02 = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt01), + AtsTestUtil.getCompletedStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr02 = new TransitionManager(helper02); + TransitionResults results02 = new TransitionResults(); + transMgr02.handleTransitionValidation(results02); + Assert.assertTrue(results02.isEmpty()); + + //4. redundant transition workflows to Implement + MockTransitionHelper helper03 = + new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt01, teamArt02), + AtsTestUtil.getCompletedStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, + TransitionOption.None); + TransitionManager transMgr03 = new TransitionManager(helper03); + TransitionResults results03 = new TransitionResults(); + transMgr03.handleTransitionValidation(results03); + Assert.assertTrue(results03.isEmpty()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/AtsTest_Editor_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/AtsTest_Editor_Suite.java new file mode 100644 index 00000000000..8f3acc690de --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/AtsTest_Editor_Suite.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.editor; + +import org.eclipse.osee.ats.client.integration.tests.ats.editor.stateItem.AtsTest_Demo_StateItem_Suite; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsTest_Demo_StateItem_Suite.class, SMAPrintTest.class}) +public class AtsTest_Editor_Suite { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Editor_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Editor_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/SMAPrintTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/SMAPrintTest.java new file mode 100644 index 00000000000..296b4038cab --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/SMAPrintTest.java @@ -0,0 +1,89 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.editor; + +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.client.demo.DemoArtifactTypes; +import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.review.ReviewManager; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.editor.SMAPrint; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.util.XResultData; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; +import org.junit.Test; + +/** + * Demo test that will run the SMAPrint action against Demo populated actions to ensure that nothing has broken.This + * test simply runs the html generation portion of SMAPrint, ensures the results are of a reasonable length and looks + * for exceptions at the end. + * + * @author Donald G. Dunne + */ +public class SMAPrintTest { + + @Test + public void testSMAPrint() throws Exception { + SevereLoggingMonitor monitorLog = TestUtil.severeLoggingStart(); + + TeamWorkFlowArtifact teamArt = + (TeamWorkFlowArtifact) ArtifactQuery.getArtifactFromTypeAndName(DemoArtifactTypes.DemoCodeTeamWorkflow, + "SAW (uncommitted) More Reqt Changes for Diagram View", AtsUtil.getAtsBranch()); + Assert.assertNotNull(teamArt); + + SMAPrint smaPrint = new SMAPrint(teamArt); + XResultData resultData = smaPrint.getResultData(); + Assert.assertNotNull(resultData); + // Make sure it's a reasonable length + Assert.assertTrue(XResultDataUI.getReport(resultData, "report").getManipulatedHtml().length() > 5800); + + PeerToPeerReviewArtifact peerArt = (PeerToPeerReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next(); + smaPrint = new SMAPrint(peerArt); + resultData = smaPrint.getResultData(); + Assert.assertNotNull(resultData); + // Make sure it's a reasonable length + Assert.assertTrue( + "Expected > 3500 chars, was " + XResultDataUI.getReport(resultData, "report").getManipulatedHtml().length(), + XResultDataUI.getReport(resultData, "report").getManipulatedHtml().length() > 3500); + + TaskArtifact taskArt = null; + for (TaskArtifact taskArtifact : teamArt.getTaskArtifacts()) { + if (taskArtifact.getName().equals("Deploy release")) { + taskArt = taskArtifact; + } + } + Assert.assertNotNull(taskArt); + smaPrint = new SMAPrint(taskArt); + resultData = smaPrint.getResultData(); + Assert.assertNotNull(resultData); + // Make sure it's a reasonable length + Assert.assertTrue(XResultDataUI.getReport(resultData, "report").getManipulatedHtml().length() > 2600); + + teamArt = + (TeamWorkFlowArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.TeamWorkflow, + "Button S doesn't work on help", AtsUtil.getAtsBranch()); + Assert.assertNotNull(teamArt); + DecisionReviewArtifact decArt = (DecisionReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next(); + smaPrint = new SMAPrint(decArt); + resultData = smaPrint.getResultData(); + Assert.assertNotNull(resultData); + // Make sure it's a reasonable length + Assert.assertTrue(XResultDataUI.getReport(resultData, "report").getManipulatedHtml().length() > 2900); + + TestUtil.severeLoggingEnd(monitorLog); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java new file mode 100644 index 00000000000..c4683981d62 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java @@ -0,0 +1,138 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.editor.stateItem; + +import static org.junit.Assert.assertFalse; +import java.util.Collection; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; +import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; +import org.eclipse.osee.ats.core.client.review.DecisionReviewState; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.editor.stateItem.AtsDecisionReviewDecisionStateItem; +import org.eclipse.osee.ats.mocks.MockStateDefinition; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; +import org.eclipse.osee.framework.ui.skynet.widgets.XComboDam; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Test Case for {@link AtsDecisionReviewDecisionStateItem} + * + * @author Donald G. Dunne + */ +public class AtsDecisionReviewDecisionStateItemTest { + + public static DecisionReviewArtifact decRevArt; + + @Before + public void setUp() throws Exception { + // This test should only be run on test db + assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); + + if (decRevArt == null) { + // setup fake review artifact with decision options set + decRevArt = + (DecisionReviewArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.DecisionReview, + AtsUtil.getAtsBranch()); + decRevArt.setName(getClass().getSimpleName()); + decRevArt.setSoleAttributeValue( + AtsAttributeTypes.DecisionReviewOptions, + DecisionReviewManager.getDecisionReviewOptionsString(DecisionReviewManager.getDefaultDecisionReviewOptions())); + decRevArt.persist(getClass().getSimpleName()); + } + } + + @BeforeClass + @AfterClass + public static void testCleanup() throws Exception { + AtsTestUtil.cleanupSimpleTest(AtsDecisionReviewDecisionStateItemTest.class.getSimpleName()); + } + + @Test + public void testXWidgetCreating() throws OseeCoreException { + Assert.assertNotNull(decRevArt); + + // setup fake combo that will hold values + XComboDam decisionComboDam = new XComboDam("Decision"); + // set combo values an verify they got set + decisionComboDam.setDataStrings(new String[] {"One", "Two", "Three"}); + IAtsStateDefinition stateDef = new MockStateDefinition("Decision"); + Assert.assertEquals("Two", decisionComboDam.getDisplayArray()[2]); + + // make call to state item that should set options based on artifact's attribute value + AtsDecisionReviewDecisionStateItem stateItem = new AtsDecisionReviewDecisionStateItem(); + Result result = stateItem.xWidgetCreating(decisionComboDam, null, stateDef, decRevArt, true); + + // verify no errors and options are as specified in artifact's attribute + Assert.assertTrue(result.getText(), result.isTrue()); + Assert.assertEquals("Yes", decisionComboDam.getDisplayArray()[1]); + Assert.assertEquals("No", decisionComboDam.getDisplayArray()[2]); + } + + @Test + public void testGetOverrideTransitionToAssignees() throws OseeCoreException { + Assert.assertNotNull(decRevArt); + + // setup fake combo that will hold values + XComboDam decisionComboDam = new XComboDam("Decision"); + // set combo values an verify they got set + decisionComboDam.setDataStrings(new String[] {"Yes", "No"}); + + // Set Yes + decisionComboDam.set(1); + + AtsDecisionReviewDecisionStateItem stateItem = new AtsDecisionReviewDecisionStateItem(); + Collection users = stateItem.getOverrideTransitionToAssignees(decRevArt, decisionComboDam.get()); + Assert.assertEquals(1, users.size()); + Assert.assertEquals(AtsUsersClient.getUser(), users.iterator().next()); + + // Set No + decisionComboDam.set(2); + + users = stateItem.getOverrideTransitionToAssignees(decRevArt, decisionComboDam.get()); + Assert.assertTrue(users.isEmpty()); + } + + @Test + public void testGetOverrideTransitionToStateName() throws OseeCoreException { + Assert.assertNotNull(decRevArt); + + // setup fake combo that will hold values + XComboDam decisionComboDam = new XComboDam("Decision"); + // set combo values an verify they got set + decisionComboDam.setDataStrings(new String[] {"Yes", "No"}); + + // Set Yes + decisionComboDam.set(1); + + AtsDecisionReviewDecisionStateItem stateItem = new AtsDecisionReviewDecisionStateItem(); + String toStateName = stateItem.getOverrideTransitionToStateName(decRevArt, decisionComboDam); + Assert.assertEquals(DecisionReviewState.Followup.getName(), toStateName); + + // Set No + decisionComboDam.set(2); + + toStateName = stateItem.getOverrideTransitionToStateName(decRevArt, decisionComboDam); + Assert.assertEquals(DecisionReviewState.Completed.getName(), toStateName); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java new file mode 100644 index 00000000000..893527cb635 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java @@ -0,0 +1,93 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.editor.stateItem; + +import static org.junit.Assert.assertFalse; +import java.util.Arrays; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.workdef.IStateToken; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; +import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; +import org.eclipse.osee.ats.core.client.review.DecisionReviewState; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; +import org.eclipse.osee.ats.editor.stateItem.AtsDecisionReviewPrepareStateItem; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Test Case for {@link AtsDecisionReviewPrepareStateItem} + * + * @author Donald G. Dunne + */ +public class AtsDecisionReviewPrepareStateItemTest { + + public static DecisionReviewArtifact decRevArt; + + @Before + public void setUp() throws Exception { + // This test should only be run on test db + assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); + + if (decRevArt == null) { + // setup fake review artifact with decision options set + decRevArt = + (DecisionReviewArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.DecisionReview, + AtsUtil.getAtsBranch()); + decRevArt.setName(getClass().getSimpleName()); + decRevArt.persist(getClass().getSimpleName()); + } + } + + @BeforeClass + @AfterClass + public static void testCleanup() throws Exception { + AtsTestUtil.cleanupSimpleTest(AtsDecisionReviewPrepareStateItemTest.class.getSimpleName()); + } + + @Test + public void testTransitioning() throws OseeCoreException { + Assert.assertNotNull(decRevArt); + + // set valid options + String decisionOptionStr = + DecisionReviewManager.getDecisionReviewOptionsString(DecisionReviewManager.getDefaultDecisionReviewOptions()); + decRevArt.setSoleAttributeValue(AtsAttributeTypes.DecisionReviewOptions, decisionOptionStr); + decRevArt.persist(getClass().getSimpleName()); + + IStateToken fromState = decRevArt.getWorkDefinition().getStateByName(DecisionReviewState.Prepare.getName()); + IStateToken toState = decRevArt.getWorkDefinition().getStateByName(DecisionReviewState.Decision.getName()); + + // make call to state item that should set options based on artifact's attribute value + AtsDecisionReviewPrepareStateItem stateItem = new AtsDecisionReviewPrepareStateItem(); + TransitionResults results = new TransitionResults(); + stateItem.transitioning(results, decRevArt, fromState, toState, Arrays.asList(AtsUsersClient.getUser())); + + // verify no errors + Assert.assertTrue(results.toString(), results.isEmpty()); + + // set invalid options; NoState is invalid, should only be Completed or FollowUp + decisionOptionStr = decisionOptionStr.replaceFirst("Completed", "NoState"); + decRevArt.setSoleAttributeValue(AtsAttributeTypes.DecisionReviewOptions, decisionOptionStr); + decRevArt.persist(getClass().getSimpleName()); + stateItem.transitioning(results, decRevArt, fromState, toState, Arrays.asList(AtsUsersClient.getUser())); + Assert.assertTrue(results.contains("Invalid Decision Option")); + + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java new file mode 100644 index 00000000000..8008f2cc960 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.editor.stateItem; + +import static org.junit.Assert.assertFalse; +import java.util.Arrays; +import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; +import org.eclipse.osee.ats.api.workdef.IStateToken; +import org.eclipse.osee.ats.api.workdef.RuleDefinitionOption; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.editor.stateItem.AtsForceAssigneesToTeamLeadsStateItem; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Test Case for {@link AtsForceAssigneesToTeamLeadsStateItem} + * + * @author Donald G. Dunne + */ +public class AtsForceAssigneesToTeamLeadsStateItemTest { + + private static final String JOE_SMITH = "Joe Smith"; + private static final String ALEX_KAY = "Alex Kay"; + + private static TeamWorkFlowArtifact teamArt; + + @Before + public void setUp() throws Exception { + // This test should only be run on test db + assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); + + if (teamArt == null) { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName()); + teamArt = DemoTestUtil.createSimpleAction(getClass().getSimpleName(), transaction); + transaction.execute(); + } + } + + @BeforeClass + @AfterClass + public static void testCleanup() throws Exception { + // Test adds the atsForceAssigneesToTeamLeads; remove it before and after test + if (teamArt != null) { + // IAtsStateDefinition authStateDef = teamArt.getWorkDefinition().getStateByName(TeamState.Authorize.getName()); + // authStateDef.removeRule(RuleDefinitionOption.ForceAssigneesToTeamLeads.name()); + } + + AtsTestUtil.cleanupSimpleTest(AtsForceAssigneesToTeamLeadsStateItemTest.class.getSimpleName()); + } + + @Test + public void testTransitioned() throws OseeCoreException { + Assert.assertNotNull(teamArt); + + // assignee should be Joe Smith + Assert.assertEquals(1, teamArt.getStateMgr().getAssignees().size()); + Assert.assertEquals(AtsUsersClient.getUserByName(JOE_SMITH), + teamArt.getStateMgr().getAssignees().iterator().next()); + + // set assignee to Alex Kay + teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserByName(ALEX_KAY)); + teamArt.persist(getClass().getSimpleName()); + Assert.assertEquals(1, teamArt.getStateMgr().getAssignees().size()); + Assert.assertEquals(AtsUsersClient.getUserByName(ALEX_KAY), + teamArt.getStateMgr().getAssignees().iterator().next()); + + IStateToken fromState = teamArt.getWorkDefinition().getStateByName(TeamState.Analyze.getName()); + IStateToken toState = teamArt.getWorkDefinition().getStateByName(TeamState.Authorize.getName()); + + IAtsStateDefinition authStateDef = teamArt.getWorkDefinition().getStateByName(TeamState.Authorize.getName()); + authStateDef.getRules().add(RuleDefinitionOption.ForceAssigneesToTeamLeads.name()); + + // make call to state item that should set options based on artifact's attribute value + AtsForceAssigneesToTeamLeadsStateItem stateItem = new AtsForceAssigneesToTeamLeadsStateItem(); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName()); + stateItem.transitioned(teamArt, fromState, toState, Arrays.asList(AtsUsersClient.getUser()), transaction); + transaction.execute(); + + // assignee should be Joe Smith + Assert.assertEquals(1, teamArt.getStateMgr().getAssignees().size()); + Assert.assertEquals(AtsUsersClient.getUserByName(JOE_SMITH), + teamArt.getStateMgr().getAssignees().iterator().next()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java new file mode 100644 index 00000000000..8ba8bef3e99 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java @@ -0,0 +1,100 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.editor.stateItem; + +import static org.junit.Assert.assertFalse; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; +import org.eclipse.osee.ats.client.demo.DemoActionableItems; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewState; +import org.eclipse.osee.ats.editor.stateItem.AtsPeerToPeerReviewPrepareStateItem; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; +import org.eclipse.osee.framework.ui.skynet.widgets.XComboDam; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.PlatformUI; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Test Case for {@link AtsPeerToPeerReviewPrepareStateItem} + * + * @author Donald G. Dunne + */ +public class AtsPeerToPeerReviewPrepareStateItemTest { + + public static PeerToPeerReviewArtifact peerRevArt; + + @Before + public void setUp() throws Exception { + // This test should only be run on test db + assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); + + if (peerRevArt == null) { + // setup fake review artifact with decision options set + peerRevArt = + (PeerToPeerReviewArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.PeerToPeerReview, + AtsUtil.getAtsBranch()); + peerRevArt.setName(getClass().getSimpleName()); + // Setup actionable item so don't get error that there is no parent team workflow + peerRevArt.getActionableItemsDam().addActionableItem( + DemoTestUtil.getActionableItem(DemoActionableItems.CIS_Code)); + peerRevArt.persist(getClass().getSimpleName()); + } + } + + @BeforeClass + @AfterClass + public static void testCleanup() throws Exception { + AtsTestUtil.cleanupSimpleTest(AtsPeerToPeerReviewPrepareStateItemTest.class.getSimpleName()); + } + + @Test + public void testTransitioning() throws OseeCoreException { + Assert.assertNotNull(peerRevArt); + + // setup fake combo that will hold values + XComboDam decisionComboDam = new XComboDam(AtsAttributeTypes.ReviewBlocks.getUnqualifiedName()); + decisionComboDam.setDataStrings(new String[] {"None", "Transition", "Commit"}); + Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); + Composite comp = new Composite(shell, SWT.None); + decisionComboDam.createWidgets(comp, SWT.NONE); + decisionComboDam.setEnabled(true); + decisionComboDam.setRequiredEntry(true); + + // verify enabled and required (Default) + Assert.assertNull(peerRevArt.getParentAWA()); // condition that causes combo to disable + Assert.assertTrue(decisionComboDam.getComboBox().isEnabled()); + Assert.assertTrue(decisionComboDam.isRequiredEntry()); + + IAtsStateDefinition reviewStateDef = + peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Prepare.getName()); + + // make call to state item that should + AtsPeerToPeerReviewPrepareStateItem stateItem = new AtsPeerToPeerReviewPrepareStateItem(); + stateItem.xWidgetCreated(decisionComboDam, null, reviewStateDef, peerRevArt, true); + + // verify the decision combo has been disabled + Assert.assertFalse(decisionComboDam.getComboBox().isEnabled()); + Assert.assertFalse(decisionComboDam.isRequiredEntry()); + + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java new file mode 100644 index 00000000000..c11c3d92641 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java @@ -0,0 +1,118 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.editor.stateItem; + +import static org.junit.Assert.assertFalse; +import java.util.Arrays; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.api.workdef.IStateToken; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; +import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewState; +import org.eclipse.osee.ats.core.client.review.role.Role; +import org.eclipse.osee.ats.core.client.review.role.UserRole; +import org.eclipse.osee.ats.core.client.review.role.UserRoleManager; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.editor.stateItem.AtsPeerToPeerReviewReviewStateItem; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Test Case for {@link AtsPeerToPeerReviewReviewStateItem} + * + * @author Donald G. Dunne + */ +public class AtsPeerToPeerReviewReviewStateItemTest { + + public static PeerToPeerReviewArtifact peerRevArt; + + @Before + public void setUp() throws Exception { + // This test should only be run on test db + assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); + + if (peerRevArt == null) { + // setup fake review artifact with decision options set + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName()); + peerRevArt = PeerToPeerReviewManager.createNewPeerToPeerReview(null, getClass().getName(), "", transaction); + peerRevArt.setName(getClass().getSimpleName()); + peerRevArt.persist(transaction); + transaction.execute(); + } + } + + @BeforeClass + @AfterClass + public static void testCleanup() throws Exception { + AtsTestUtil.cleanupSimpleTest(AtsPeerToPeerReviewReviewStateItemTest.class.getSimpleName()); + } + + @Test + public void testTransitioned() throws OseeCoreException { + Assert.assertNotNull(peerRevArt); + + // assignee should be user creating review + Assert.assertEquals(1, peerRevArt.getStateMgr().getAssignees().size()); + Assert.assertEquals(AtsUsersClient.getUser(), peerRevArt.getStateMgr().getAssignees().iterator().next()); + + // set roles + UserRole userRole = new UserRole(Role.Author, AtsUsersClient.getUserByName("Joe Smith")); + UserRoleManager roleMgr = new UserRoleManager(peerRevArt); + roleMgr.addOrUpdateUserRole(userRole); + userRole = new UserRole(Role.Reviewer, AtsUsersClient.getUserByName("Alex Kay")); + SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "test transition"); + roleMgr.addOrUpdateUserRole(userRole); + roleMgr.saveToArtifact(transaction); + transaction.execute(); + + // assignee should be user roles + Assert.assertEquals(2, peerRevArt.getStateMgr().getAssignees().size()); + + // change assignees back to single user so can test transition + peerRevArt.getStateMgr().setAssignee(AtsUsersClient.getUser()); + peerRevArt.persist(getClass().getSimpleName()); + Assert.assertEquals(1, peerRevArt.getStateMgr().getAssignees().size()); + Assert.assertEquals(AtsUsersClient.getUser(), peerRevArt.getStateMgr().getAssignees().iterator().next()); + + IStateToken fromState = peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Prepare.getName()); + IStateToken toState = peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Review.getName()); + + // make call to state item that should set options based on artifact's attribute value + AtsPeerToPeerReviewReviewStateItem stateItem = new AtsPeerToPeerReviewReviewStateItem(); + transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "test transition"); + stateItem.transitioned(peerRevArt, fromState, toState, Arrays.asList(AtsUsersClient.getUser()), transaction); + transaction.execute(); + + // Joe and Alex should have been added to assignees + Assert.assertEquals(2, peerRevArt.getStateMgr().getAssignees().size()); + boolean joeFound = false, alexFound = false; + for (IAtsUser user : peerRevArt.getStateMgr().getAssignees()) { + if (user.getName().equals("Joe Smith")) { + joeFound = true; + } + if (user.getName().equals("Alex Kay")) { + alexFound = true; + } + } + Assert.assertTrue("Joe should have been added as assignee", joeFound); + Assert.assertTrue("Alex should have been added as assignee", alexFound); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsTest_Demo_StateItem_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsTest_Demo_StateItem_Suite.java new file mode 100644 index 00000000000..ce1dc2ebb97 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/editor/stateItem/AtsTest_Demo_StateItem_Suite.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.editor.stateItem; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + AtsDecisionReviewDecisionStateItemTest.class, + AtsDecisionReviewPrepareStateItemTest.class, + AtsForceAssigneesToTeamLeadsStateItemTest.class, + AtsPeerToPeerReviewPrepareStateItemTest.class, + AtsPeerToPeerReviewReviewStateItemTest.class}) +/** + * This test suite contains tests that must be run against demo database + * + * @author Donald G. Dunne + */ +public class AtsTest_Demo_StateItem_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Demo_StateItem_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Demo_StateItem_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/health/AtsTest_Health_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/health/AtsTest_Health_Suite.java new file mode 100644 index 00000000000..001067db6ad --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/health/AtsTest_Health_Suite.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.health; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({AtsValidateAtsDatabaseTest.class}) +public class AtsTest_Health_Suite { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Health_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Health_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/health/AtsValidateAtsDatabaseTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/health/AtsValidateAtsDatabaseTest.java new file mode 100644 index 00000000000..aee21c8ebd8 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/health/AtsValidateAtsDatabaseTest.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.health; + +import static org.junit.Assert.fail; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; +import org.eclipse.osee.ats.health.ValidateAtsDatabase; +import org.eclipse.osee.framework.core.util.XResultData; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; +import org.eclipse.osee.support.test.util.TestUtil; + +/** + * This test runs the validate ats database check against whatever database is run against. + * + * @author Donald G. Dunne + */ +public class AtsValidateAtsDatabaseTest { + + public AtsValidateAtsDatabaseTest() { + AtsBulkLoad.loadConfig(true); + } + + @org.junit.Test + public void testValidateAtsDatabase() throws Exception { + SevereLoggingMonitor monitorLog = TestUtil.severeLoggingStart(); + + ValidateAtsDatabase validateAtsDatabase = new ValidateAtsDatabase(null); + XResultData rd = new XResultData(); + validateAtsDatabase.setFixAssignees(false); + validateAtsDatabase.setFixAttributeValues(false); + validateAtsDatabase.runIt(null, rd); + Matcher m = Pattern.compile("Error:.*$").matcher(XResultDataUI.getReport(rd, "").getManipulatedHtml()); + while (m.find()) { + fail(m.group()); + } + + TestUtil.severeLoggingEnd(monitorLog); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToMassEditorTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToMassEditorTest.java new file mode 100644 index 00000000000..3b3b770b1a6 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToMassEditorTest.java @@ -0,0 +1,96 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.navigate; + +import java.util.Collection; +import java.util.Collections; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.NavigateTestUtil; +import org.eclipse.osee.ats.core.config.TeamDefinitions; +import org.eclipse.osee.ats.task.TaskEditor; +import org.eclipse.osee.ats.version.MassEditTeamVersionItem; +import org.eclipse.osee.framework.core.data.IArtifactType; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor; +import org.eclipse.osee.support.test.util.TestUtil; +import org.eclipse.ui.IEditorReference; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PlatformUI; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * @author Donald G. Dunne + */ +public class AtsNavigateItemsToMassEditorTest { + + @BeforeClass + public static void setup() throws Exception { + DemoTestUtil.setUpTest(); + } + + @org.junit.Test + public void testTeamVersions() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + closeTaskEditors(); + MassArtifactEditor.closeAll(); + + XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Team Versions"); + Assert.assertTrue(item instanceof MassEditTeamVersionItem); + MassEditTeamVersionItem massEditItem = ((MassEditTeamVersionItem) item); + + Collection teamDefs = TeamDefinitions.getTeamDefinitions(Collections.singleton("SAW SW")); + Assert.assertNotNull(teamDefs); + Assert.assertFalse(teamDefs.isEmpty()); + + massEditItem.setSelectedTeamDef(teamDefs.iterator().next()); + handleGeneralDoubleClickAndTestResults(item, AtsArtifactTypes.Version, 3); + + TestUtil.severeLoggingEnd(monitor); + } + + private void handleGeneralDoubleClickAndTestResults(XNavigateItem item, IArtifactType artifactType, int numOfType) throws Exception { + item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI); + MassArtifactEditor massEditor = getMassArtifactEditor(); + Assert.assertNotNull(massEditor); + Collection arts = massEditor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, artifactType, numOfType); + } + + private MassArtifactEditor getMassArtifactEditor() { + IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); + IEditorReference editors[] = page.getEditorReferences(); + for (int j = 0; j < editors.length; j++) { + IEditorReference editor = editors[j]; + if (editor.getPart(false) instanceof MassArtifactEditor) { + return (MassArtifactEditor) editor.getPart(false); + } + } + return null; + } + + private void closeTaskEditors() { + IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); + IEditorReference editors[] = page.getEditorReferences(); + for (int j = 0; j < editors.length; j++) { + IEditorReference editor = editors[j]; + if (editor.getPart(false) instanceof TaskEditor) { + page.closeEditor((TaskEditor) editor.getPart(false), false); + } + } + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToTaskEditorTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToTaskEditorTest.java new file mode 100644 index 00000000000..5c4c388cc9c --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToTaskEditorTest.java @@ -0,0 +1,159 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.navigate; + +import static org.junit.Assert.assertTrue; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.client.demo.DemoSawBuilds; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.NavigateTestUtil; +import org.eclipse.osee.ats.core.config.TeamDefinitions; +import org.eclipse.osee.ats.navigate.SearchNavigateItem; +import org.eclipse.osee.ats.task.TaskEditor; +import org.eclipse.osee.ats.task.TaskXViewer; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.ats.world.search.TaskSearchWorldSearchItem; +import org.eclipse.osee.framework.core.data.IArtifactType; +import org.eclipse.osee.framework.core.enums.Active; +import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.widgets.util.IDynamicWidgetLayoutListener; +import org.eclipse.osee.support.test.util.TestUtil; + +/** + * @author Donald G. Dunne + */ +public class AtsNavigateItemsToTaskEditorTest { + + @org.junit.Test + public void testDemoDatabase() throws Exception { + DemoTestUtil.setUpTest(); + } + + @org.junit.Test + public void testMyTasksEditor() throws Exception { + TaskEditor.closeAll(); + // Place holder for future navigate items opening TaskEditor + // XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("My Tasks (Editor)"); + // handleGeneralDoubleClickAndTestResults(item, TaskArtifact.class, DemoDbTasks.getNumTasks()); + } + + @org.junit.Test + public void testTaskSearch() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + Collection selectedUsers = TeamDefinitions.getTeamTopLevelDefinitions(Active.Active); + TaskEditor.closeAll(); + XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Task Search"); + assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof TaskSearchWorldSearchItem); + handleGeneralDoubleClickAndTestResults(item, CoreArtifactTypes.Artifact, 0, TableLoadOption.DontCopySearchItem); + runGeneralTaskSearchOnCompletedCancelledTest(item, true, 14); + runGeneralTaskSearchOnCompletedCancelledTest(item, false, 0); + runGeneralTaskSearchOnTeamTest(item, selectedUsers, 0); + selectedUsers.clear(); + List teamDefs = new ArrayList(); + teamDefs.add("SAW Code"); + Set tda = TeamDefinitions.getTeamDefinitions(teamDefs); + runGeneralTaskSearchOnTeamTest(item, tda, 14); + runGeneralTaskSearchOnAssigneeTest(item, "Joe Smith", 14); + runGeneralTaskSearchOnVersionTest(item, DemoSawBuilds.SAW_Bld_1.getName(), 0); + runGeneralTaskSearchOnVersionTest(item, DemoSawBuilds.SAW_Bld_2.getName(), 14); + selectedUsers.clear(); + runGeneralTaskSearchOnTeamTest(item, selectedUsers, 14); + runGeneralTaskSearchOnAssigneeTest(item, "Kay Jones", 8); + + TestUtil.severeLoggingEnd(monitor); + } + + public void runGeneralTaskSearchTest(XNavigateItem item, int expectedNum) throws Exception { + TaskEditor editor = getSingleEditorOrFail(); + editor.getTaskActionPage().reSearch(); + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), expectedNum, arts.size()); + } + + public void runGeneralTaskSearchOnAssigneeTest(XNavigateItem item, String assignee, int expectedNum) throws Exception { + TaskEditor editor = getSingleEditorOrFail(); + ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).setSelectedUser(UserManager.getUserByName(assignee)); + runGeneralTaskSearchTest(item, expectedNum); + } + + public void runGeneralTaskSearchOnTeamTest(XNavigateItem item, Collection selectedUsers, int expectedNum) throws Exception { + // need to set team selected users + TaskEditor editor = getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getTaskActionPage().getDynamicWidgetLayoutListener(); + ((TaskSearchWorldSearchItem) dwl).setSelectedTeamDefinitions(selectedUsers); + runGeneralTaskSearchTest(item, expectedNum); + } + + public void runGeneralTaskSearchOnVersionTest(XNavigateItem item, String versionString, int expectedNum) throws Exception { + TaskEditor editor = getSingleEditorOrFail(); + ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).setVersion(versionString); + runGeneralTaskSearchTest(item, expectedNum); + } + + public void runGeneralTaskSearchOnCompletedCancelledTest(XNavigateItem item, boolean selected, int expectedNum) throws Exception { + Artifact groupArt = + ArtifactQuery.getArtifactFromTypeAndName(CoreArtifactTypes.UniversalGroup, "Test Group", + AtsUtil.getAtsBranch()); + Set selectedUsers = new HashSet(); + TaskEditor editor = getSingleEditorOrFail(); + ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).setIncludeCompletedCheckbox(selected); + ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).setIncludeCancelledCheckbox(selected); + if (selected) { + // select the group + selectedUsers.add(groupArt); + ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).setSelectedGroups(selectedUsers); + } else { + // clear the group selected + ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).handleSelectedGroupsClear(); + } + runGeneralTaskSearchTest(item, expectedNum); + } + + public void handleGeneralDoubleClickAndTestResults(XNavigateItem item, IArtifactType artifactType, int numOfType, TableLoadOption tableLoadOption) throws Exception { + item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI, tableLoadOption); + TaskEditor taskEditor = getSingleEditorOrFail(); + assertTrue(taskEditor != null); + Collection arts = taskEditor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, artifactType, numOfType); + } + + public TaskEditor getSingleEditorOrFail() { + // Retrieve results from opened editor and test + Collection editors = TaskEditor.getEditors(); + assertTrue("Expecting 1 editor open, currently " + editors.size(), editors.size() == 1); + + return editors.iterator().next(); + } + + public TaskXViewer getXViewer() { + return getSingleEditorOrFail().getTaskActionPage().getTaskComposite().getTaskXViewer(); + } + + public void handleTableCustomization() { + // add all columns + CustomizeTableDialog cdialog = new CustomizeTableDialog(getXViewer()); + cdialog.createDialogArea(getSingleEditorOrFail().getTaskActionPage().getTaskComposite()); + cdialog.handleAddAllItemButtonClick(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToWorldViewTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToWorldViewTest.java new file mode 100644 index 00000000000..bd4ba5fceb8 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsNavigateItemsToWorldViewTest.java @@ -0,0 +1,712 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.navigate; + +import static org.junit.Assert.assertTrue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.logging.Level; +import org.eclipse.jface.viewers.ITableLabelProvider; +import org.eclipse.nebula.widgets.xviewer.XViewer; +import org.eclipse.nebula.widgets.xviewer.XViewerColumn; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.api.version.IAtsVersion; +import org.eclipse.osee.ats.client.demo.DemoArtifactTypes; +import org.eclipse.osee.ats.client.demo.DemoSawBuilds; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.integration.tests.ats.config.AtsBranchConfigurationTest; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.NavigateTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.WorldEditorUtil; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.config.ActionableItems; +import org.eclipse.osee.ats.core.config.AtsConfigCache; +import org.eclipse.osee.ats.core.config.TeamDefinitions; +import org.eclipse.osee.ats.editor.SMAEditor; +import org.eclipse.osee.ats.navigate.SearchNavigateItem; +import org.eclipse.osee.ats.navigate.TeamWorkflowSearchWorkflowSearchItem; +import org.eclipse.osee.ats.navigate.UserSearchWorkflowSearchItem; +import org.eclipse.osee.ats.navigate.VisitedItems; +import org.eclipse.osee.ats.task.TaskEditor; +import org.eclipse.osee.ats.task.TaskEditorSimpleProvider; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.ats.world.WorldEditor; +import org.eclipse.osee.ats.world.WorldXViewer; +import org.eclipse.osee.ats.world.search.ActionableItemWorldSearchItem; +import org.eclipse.osee.ats.world.search.GroupWorldSearchItem; +import org.eclipse.osee.ats.world.search.NextVersionSearchItem; +import org.eclipse.osee.ats.world.search.TeamWorldSearchItem.ReleasedOption; +import org.eclipse.osee.ats.world.search.UserCommunitySearchItem; +import org.eclipse.osee.ats.world.search.UserSearchItem; +import org.eclipse.osee.ats.world.search.UserWorldSearchItem.UserSearchOption; +import org.eclipse.osee.ats.world.search.VersionTargetedForTeamSearchItem; +import org.eclipse.osee.framework.core.data.IArtifactType; +import org.eclipse.osee.framework.core.data.IAttributeType; +import org.eclipse.osee.framework.core.enums.Active; +import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.widgets.util.IDynamicWidgetLayoutListener; +import org.eclipse.osee.support.test.util.TestUtil; +import org.eclipse.swt.widgets.TreeItem; +import org.junit.Ignore; + +/** + * @author Donald G. Dunne + */ +public class AtsNavigateItemsToWorldViewTest { + + private static enum AtsUserCommunity { + Program_1, + Program_2, + Tools, + Processes, + Other; + } + + @org.junit.Test + public void testDemoDatabase() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + VisitedItems.clearVisited(); + DemoTestUtil.setUpTest(); + assertTrue(DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones) != null); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testAttributeDeletion() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + Collection arts = runGeneralLoadingTest("My Favorites", AtsArtifactTypes.TeamWorkflow, 3, null); + arts.clear(); + NavigateTestUtil.getAllArtifactChildren(getXViewer().getTree().getItems(), arts); + // delete an artifact, look for expected !Errors in the XCol + deleteAttributesForXColErrorTest(arts, AtsAttributeTypes.ChangeType); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testMyWorld() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + runGeneralLoadingTest("My World", AtsArtifactTypes.AbstractWorkflowArtifact, 11, null); + runGeneralXColTest(28, false); + TestUtil.severeLoggingEnd(monitor); + } + + private XNavigateItem openUserSearchEditor() throws Exception { + WorldEditor.closeAll(); + XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("User Search"); + assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof UserSearchWorkflowSearchItem); + item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI); + return item; + } + + @org.junit.Test + public void testSearchMyFavorites() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + UserSearchWorkflowSearchItem dwl = + (UserSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + dwl.setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + dwl.setSelected(UserSearchOption.Favorites, true); + runGeneralUserSearchTest(item, 3); + runGeneralXColTest(20, false); + // test the task tab - this is being done via open ats task editor + runGeneralXColTest(20, true); + // Open all three favorites + editor.getWorldXWidgetActionPage().reSearch(true); + Collection arts = editor.getLoadedArtifacts(); + for (Artifact artifact : arts) { + SMAEditor.editArtifact(artifact); + } + // Test that recently visited returns all three + Collection artsLoaded = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), artsLoaded, AtsArtifactTypes.TeamWorkflow, 3); + runGeneralXColTest(20, false); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testSearchMySubscribed() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Subscribed, true); + editor.getWorldXWidgetActionPage().reSearch(true); + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), 1, arts.size()); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testSearchState() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Assignee, true); + ((UserSearchWorkflowSearchItem) dwl).setSelectedState(TeamState.Implement.getName()); + editor.getWorldXWidgetActionPage().reSearch(true); + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.AbstractWorkflowArtifact, 7); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testSearchMyReviews() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false); + editor.getWorldXWidgetActionPage().reSearch(true); + + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 2); + runGeneralXColTest(4, false); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testSearchMyReviewsAll() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeCompleted, true); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeCancelled, true); + editor.getWorldXWidgetActionPage().reSearch(true); + + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3); + runGeneralXColTest(5, false); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testSearchMyOriginator() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Originator, true); + editor.getWorldXWidgetActionPage().reSearch(true); + + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.Task, DemoTestUtil.getNumTasks()); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.TeamWorkflow, 22); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); + // Only 2 decision reviews should have been created by Joe, rest are Rule reviews created by OseeSystem user + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 2); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testSearchMyOriginatorAll() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Originator, true); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeCompleted, true); + editor.getWorldXWidgetActionPage().reSearch(true); + + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.Task, DemoTestUtil.getNumTasks()); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.TeamWorkflow, 25); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3); + runGeneralXColTest(70, false); + TestUtil.severeLoggingEnd(monitor); + } + + private void runGeneralUserSearchTest(XNavigateItem item, int expectedNum) throws Exception { + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + editor.getWorldXWidgetActionPage().reSearch(true); + Collection arts = editor.getLoadedArtifacts(); + // validate + NavigateTestUtil.testExpectedVersusActual(item.getName(), expectedNum, arts.size()); + } + + @org.junit.Test + public void testSearchMyCompleted() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + UserSearchWorkflowSearchItem dwl = + (UserSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + dwl.setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + dwl.setSelected(UserSearchOption.IncludeCompleted, true); + dwl.setSelected(UserSearchOption.IncludeTasks, false); + editor.getWorldXWidgetActionPage().reSearch(true); + + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.TeamWorkflow, 7); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3); + runGeneralXColTest(29, false); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testMyRecentlyVisited() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + // Load Recently Visited + runGeneralLoadingTest("My Recently Visited", AtsArtifactTypes.TeamWorkflow, 3, null); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testOtherUsersWorld() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + OseeLog.log(AtsBranchConfigurationTest.class, Level.INFO, + "Testing User's items relating to " + DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones)); + XNavigateItem item = NavigateTestUtil.getAtsNavigateItems("User's World").iterator().next(); + runGeneralLoadingTest(item, AtsArtifactTypes.AbstractWorkflowArtifact, 12, + AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testSearchOtherUserReviews() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false); + editor.getWorldXWidgetActionPage().reSearch(true); + + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 1); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testSearchOtherUserAllReviews() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeCompleted, false); + editor.getWorldXWidgetActionPage().reSearch(true); + + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 1); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testSearchOtherUserFavorites() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Favorites, true); + editor.getWorldXWidgetActionPage().reSearch(true); + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), 0, arts.size()); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testSearchOtherUserSubscribed() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = openUserSearchEditor(); + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); + ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Subscribed, true); + editor.getWorldXWidgetActionPage().reSearch(true); + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), 0, arts.size()); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testGroupsSearch() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + WorldEditor.closeAll(); + Artifact groupArt = + ArtifactQuery.getArtifactFromTypeAndName(CoreArtifactTypes.UniversalGroup, "Test Group", + AtsUtil.getAtsBranch()); + assertTrue(groupArt != null); + XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Group Search"); + assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof GroupWorldSearchItem); + ((GroupWorldSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedGroup(groupArt); + item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI); + WorldEditor worldEditor = WorldEditorUtil.getSingleEditorOrFail(); + Collection arts = worldEditor.getLoadedArtifacts(); + + NavigateTestUtil.testExpectedVersusActual(item.getName() + " Actions", arts, AtsArtifactTypes.Action, 2); + NavigateTestUtil.testExpectedVersusActual(item.getName() + " Teams", arts, AtsArtifactTypes.TeamWorkflow, 7); + NavigateTestUtil.testExpectedVersusActual(item.getName() + " Tasks", arts, AtsArtifactTypes.Task, + DemoTestUtil.getNumTasks()); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testTeamWorkflowSearch() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + List selectedTeamDefs = TeamDefinitions.getTeamTopLevelDefinitions(Active.Active); + WorldEditor.closeAll(); + XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Team Workflow Search"); + assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof TeamWorkflowSearchWorkflowSearchItem); + item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI); + runGeneralTeamWorkflowSearchOnTeamTest(item, selectedTeamDefs, 1); + runGeneralTeamWorkflowSearchOnCompletedCancelledTest(item, true, 2); + runGeneralTeamWorkflowSearchOnCompletedCancelledTest(item, false, 1); + runGeneralTeamWorkflowSearchOnAssigneeTest(item, "Joe Smith", 0); + selectedTeamDefs.clear(); + runGeneralTeamWorkflowSearchOnTeamTest(item, selectedTeamDefs, 7); + runGeneralTeamWorkflowSearchOnReleasedTest(item, ReleasedOption.UnReleased, 7); + runGeneralTeamWorkflowSearchOnAssigneeTest(item, "Kay Jones", 10); + runGeneralTeamWorkflowSearchOnReleasedTest(item, ReleasedOption.Released, 0); + runGeneralTeamWorkflowSearchOnReleasedTest(item, ReleasedOption.Both, 10); + List teamDefs = new ArrayList(); + teamDefs.add("SAW Test"); + teamDefs.add("SAW Design"); + Set tda = TeamDefinitions.getTeamDefinitions(teamDefs); + runGeneralTeamWorkflowSearchOnTeamTest(item, tda, 3); + runGeneralTeamWorkflowSearchOnVersionTest(item, DemoSawBuilds.SAW_Bld_1.getName(), 0); + runGeneralTeamWorkflowSearchOnVersionTest(item, DemoSawBuilds.SAW_Bld_2.getName(), 3); + selectedTeamDefs.clear(); + runGeneralTeamWorkflowSearchOnTeamTest(item, selectedTeamDefs, 10); + TestUtil.severeLoggingEnd(monitor); + } + + private void runGeneralTeamWorkflowSearchTest(XNavigateItem item, int expectedNum) throws Exception { + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + editor.getWorldXWidgetActionPage().reSearch(true); + Collection arts = editor.getLoadedArtifacts(); + // validate + NavigateTestUtil.testExpectedVersusActual(item.getName(), expectedNum, arts.size()); + } + + private void runGeneralTeamWorkflowSearchOnAssigneeTest(XNavigateItem item, String assignee, int expectedNum) throws Exception { + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setSelectedUser(AtsUsersClient.getUserByName(assignee)); + runGeneralTeamWorkflowSearchTest(item, expectedNum); + } + + private void runGeneralTeamWorkflowSearchOnTeamTest(XNavigateItem item, Collection selectedTeamDefs, int expectedNum) throws Exception { + // need to set team selected users + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); + ((TeamWorkflowSearchWorkflowSearchItem) dwl).setSelectedTeamDefinitions(selectedTeamDefs); + runGeneralTeamWorkflowSearchTest(item, expectedNum); + } + + private void runGeneralTeamWorkflowSearchOnReleasedTest(XNavigateItem item, ReleasedOption released, int expectedNum) throws Exception { + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setSelectedReleased(released); + runGeneralTeamWorkflowSearchTest(item, expectedNum); + } + + private void runGeneralTeamWorkflowSearchOnVersionTest(XNavigateItem item, String versionString, int expectedNum) throws Exception { + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setVersion(versionString); + runGeneralTeamWorkflowSearchTest(item, expectedNum); + } + + private void runGeneralTeamWorkflowSearchOnCompletedCancelledTest(XNavigateItem item, boolean selected, int expectedNum) throws Exception { + WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); + ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setIncludeCompletedCheckbox(selected); + ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setIncludeCancelledCheckbox(selected); + runGeneralTeamWorkflowSearchTest(item, expectedNum); + } + + @Ignore + @org.junit.Test + public void testUserCommunitySearch() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("User Community Search"); + assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof UserCommunitySearchItem); + ((UserCommunitySearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedUserComm(AtsUserCommunity.Program_2.name()); + // normal searches copy search item which would clear out the set value above; for this test, don't copy item + runGeneralLoadingTest(item, AtsArtifactTypes.TeamWorkflow, 4, null, TableLoadOption.DontCopySearchItem); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testActionableItemSearch() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Actionable Item Search"); + assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof ActionableItemWorldSearchItem); + ((ActionableItemWorldSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedActionItems(ActionableItems.getActionableItems(Arrays.asList("SAW Code"))); + // normal searches copy search item which would clear out the set value above; for this test, don't copy item + runGeneralLoadingTest(item, AtsArtifactTypes.TeamWorkflow, 3, null, TableLoadOption.DontCopySearchItem); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testTargetedForVersionTeamSearch() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + Collection items = NavigateTestUtil.getAtsNavigateItems("Workflows Targeted-For Version"); + // First one is the global one + XNavigateItem item = items.iterator().next(); + assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof VersionTargetedForTeamSearchItem); + IAtsVersion version = AtsConfigCache.instance.getSoleByName(DemoSawBuilds.SAW_Bld_2.getName(), IAtsVersion.class); + ((VersionTargetedForTeamSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedVersionArt(version); + runGeneralLoadingTest(item, AtsArtifactTypes.TeamWorkflow, 14, null, TableLoadOption.DontCopySearchItem); + TestUtil.severeLoggingEnd(monitor); + } + + @org.junit.Test + public void testTargetedForTeamSearch() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + + Collection items = NavigateTestUtil.getAtsNavigateItems("Workflows Targeted-For Next Version"); + // First one is the global one + XNavigateItem item = items.iterator().next(); + assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof NextVersionSearchItem); + ((NextVersionSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedTeamDef(TeamDefinitions.getTeamDefinitions( + Arrays.asList("SAW SW")).iterator().next()); + runGeneralLoadingTest(item, AtsArtifactTypes.TeamWorkflow, 14, null, TableLoadOption.DontCopySearchItem); + TestUtil.severeLoggingEnd(monitor); + } + + private Collection runGeneralLoadingTest(String xNavigateItemName, IArtifactType artifactType, int numOfType, IAtsUser user) throws Exception { + XNavigateItem item = NavigateTestUtil.getAtsNavigateItem(xNavigateItemName); + return runGeneralLoadingTest(item, artifactType, numOfType, user); + } + + private Collection runGeneralLoadingTest(XNavigateItem item, IArtifactType artifactType, int numOfType, IAtsUser user) throws Exception { + return runGeneralLoadingTest(item, artifactType, numOfType, user, TableLoadOption.None); + } + + private Collection runGeneralLoadingTest(XNavigateItem item, IArtifactType artifactType, int numOfType, IAtsUser user, TableLoadOption tableLoadOption) throws Exception { + WorldEditor.closeAll(); + // Find the correct navigate item + if (user != null && item instanceof SearchNavigateItem) { + if (((SearchNavigateItem) item).getWorldSearchItem() instanceof UserSearchItem) { + ((UserSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedUser(user); + } + } + // Simulate double-click of navigate item + item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI, tableLoadOption); + + WorldEditor worldEditor = WorldEditorUtil.getSingleEditorOrFail(); + Collection arts = worldEditor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, artifactType, numOfType); + return arts; + } + + private void runGeneralXColTest(int itemCount, boolean testTaskTab) throws Exception { + int itemCnt, beforeSize, afterSize = 0; + XViewer xv = getXViewer(); + xv.expandAll(); + itemCnt = xv.getVisibleItemCount(xv.getTree().getItems()); + NavigateTestUtil.testExpectedVersusActual("Item Count - ", itemCount, itemCnt); + beforeSize = getXViewer().getCustomizeMgr().getCurrentVisibleTableColumns().size(); + // show all columns + handleTableCustomization(); + afterSize = getXViewer().getCustomizeMgr().getCurrentVisibleTableColumns().size(); + NavigateTestUtil.testExpectedVersusActual("Column Count - ", true, (afterSize >= beforeSize)); + runGeneralXColTest(itemCount, false, null, testTaskTab); + } + + private void runGeneralXColTest(int expected, boolean isErrorCheck, IAttributeType attributeTypeToDelete, boolean testTaskTab) throws OseeCoreException { + List arts = new ArrayList(); + List taskArts = new ArrayList(); + List columns = getXViewer().getCustomizeMgr().getCurrentTableColumns(); + ITableLabelProvider labelProv = (ITableLabelProvider) getXViewer().getLabelProvider(); + // want to check all valid children + TreeItem[] treeItem = getXViewer().getTree().getItems(); + NavigateTestUtil.getAllArtifactChildren(treeItem, arts); + NavigateTestUtil.testExpectedVersusActual("Number of Artifacts - ", expected, arts.size()); + // are we running the fault case? + if (testTaskTab) { + getXViewer().expandAll(); + arts.clear(); + // grab the Task Artifacts and set them as selected + this.getAllTreeItems(getXViewer().getTree().getItems(), taskArts); + // open the task in the Task Editor + TaskEditor.open(new TaskEditorSimpleProvider("ATS Tasks", getXViewer().getSelectedTaskArtifacts())); + handleTableCustomization(); + columns = getXViewer().getCustomizeMgr().getCurrentTableColumns(); + verifyXColumns(labelProv, arts, columns); + } else if (isErrorCheck) { + verifyXColumnsHasErrors(labelProv, arts, columns, attributeTypeToDelete); + } else { + verifyXColumns(labelProv, arts, columns); + } + } + + private void getAllTreeItems(TreeItem[] treeItem, List taskArts) throws OseeCoreException { + for (TreeItem item : treeItem) { + if (item.getData() instanceof Artifact) { + if (((Artifact) item.getData()).isOfType(AtsArtifactTypes.Task)) { + getXViewer().getTree().setSelection(item); + taskArts.add((Artifact) item.getData()); + } + } + if (item.getExpanded()) { + getAllTreeItems(item.getItems(), taskArts); + } + } + } + + private WorldXViewer getXViewer() { + return WorldEditorUtil.getSingleEditorOrFail().getWorldComposite().getXViewer(); + } + + private void handleTableCustomization() { + // add all columns + CustomizeTableDialog cdialog = new CustomizeTableDialog(getXViewer()); + cdialog.createDialogArea(WorldEditorUtil.getSingleEditorOrFail().getWorldComposite()); + cdialog.handleAddAllItemButtonClick(); + } + + private void deleteAttributesForXColErrorTest(Collection arts, IAttributeType attributeTypeToDelete) throws Exception { + Map attributeValues = new HashMap(); + getXViewer().expandAll(); + handleTableCustomization(); + SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Navigate Test"); + // select a workflow artifact; get its attributes; delete an attribute + for (Artifact art : arts) { + attributeValues.put(art, art.getSoleAttributeValue(attributeTypeToDelete)); + art.deleteAttribute(attributeTypeToDelete, art.getSoleAttributeValue(attributeTypeToDelete)); + art.persist(transaction); + } + transaction.execute(); + try { + runGeneralXColTest(20, true, attributeTypeToDelete, false); + } finally { + transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Navigate Test"); + // restore the attribute to leave the demo db back in its original state + for (Artifact art : arts) { + art.setSoleAttributeValue(attributeTypeToDelete, attributeValues.get(art)); + art.persist(transaction); + } + transaction.execute(); + } + } + + private void verifyXColumnsHasErrors(ITableLabelProvider labelProv, List arts, List columns, IAttributeType attributeTypeToDelete) { + List actualErrorCols = new ArrayList(); + for (XViewerColumn xCol : columns) { + verifyArtifactsHasErrors(labelProv, arts, xCol, + getXViewer().getCustomizeMgr().getColumnNumFromXViewerColumn(xCol), actualErrorCols); + } + if (!AtsAttributeTypes.CurrentState.equals(attributeTypeToDelete) && !AtsAttributeTypes.PriorityType.equals(attributeTypeToDelete)) { + verifyXCol1HasErrors(actualErrorCols); + } else { + verifyXCol2HasErrors(actualErrorCols); + } + } + + private void verifyXCol1HasErrors(List actualErrorCols) { + int index = 0; + for (String col : actualErrorCols) { + NavigateTestUtil.testExpectedVersusActual("Expected xCol " + col + " errors", true, + NavigateTestUtil.expectedErrorCols1[index++].contains(col)); + } + } + + private void verifyXCol2HasErrors(List actualErrorCols) { + int index = 0; + NavigateTestUtil.testExpectedVersusActual("Expected number of xCol errors", + NavigateTestUtil.expectedErrorCols2.length, actualErrorCols.size()); + for (String col : actualErrorCols) { + NavigateTestUtil.testExpectedVersusActual("Expected xCol errors", true, + NavigateTestUtil.expectedErrorCols2[index++].equals(col)); + } + } + + private void verifyXColumns(ITableLabelProvider labelProv, Collection arts, List columns) { + for (XViewerColumn xCol : columns) { + verifyArtifact(xCol, labelProv, arts, getXViewer().getCustomizeMgr().getColumnNumFromXViewerColumn(xCol)); + } + } + + private void verifyArtifact(XViewerColumn xCol, ITableLabelProvider labelProv, Collection arts, int colIndex) { + for (Artifact art : arts) { + String colText = labelProv.getColumnText(art, colIndex); + NavigateTestUtil.testExpectedVersusActual( + "No Error expected in XCol [" + xCol.getName() + "] but got [" + colText + "]", true, + !colText.contains("!Error")); + } + } + + private void verifyArtifactsHasErrors(ITableLabelProvider labelProv, Collection arts, XViewerColumn xCol, int colIndex, List actualErrorCols) { + for (Artifact art : arts) { + String colText = labelProv.getColumnText(art, colIndex); + if (art.isOfType(DemoArtifactTypes.DemoCodeTeamWorkflow)) { + if (colText.contains("!Error")) { + if (!actualErrorCols.contains(xCol.getId())) { + actualErrorCols.add(xCol.getId()); + } + } + } + } + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsTest_Navigate_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsTest_Navigate_Suite.java new file mode 100644 index 00000000000..564d82ba6a3 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/AtsTest_Navigate_Suite.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.navigate; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + AtsNavigateItemsToMassEditorTest.class, + AtsNavigateItemsToTaskEditorTest.class, + AtsNavigateItemsToWorldViewTest.class}) +public class AtsTest_Navigate_Suite { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Navigate_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Navigate_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/CustomizeTableDialog.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/CustomizeTableDialog.java new file mode 100644 index 00000000000..d85ba87b317 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/navigate/CustomizeTableDialog.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.navigate; + +import java.util.logging.Level; +import org.eclipse.nebula.widgets.xviewer.XViewer; +import org.eclipse.nebula.widgets.xviewer.customize.dialog.XViewerCustomizeDialog; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; + +/** + * @author Megumi Telles + */ +public class CustomizeTableDialog extends XViewerCustomizeDialog { + + public boolean DEBUG = false; + + public CustomizeTableDialog(XViewer viewer) { + super(viewer); + } + + /** + * for testing purposes - simulate customization view + */ + @Override + public Control createDialogArea(Composite parent) { + if (DEBUG) { + OseeLog.log(CustomizeTableDialog.class, Level.INFO, "===> Simulating CustomizationView " + "\"..."); + } + return super.createDialogArea(parent); + } + + /** + * for testing purposes - simulate the add all button click + */ + public void handleAddAllItemButtonClick() { + if (DEBUG) { + OseeLog.log(CustomizeTableDialog.class, Level.INFO, + "===> Simulating CustomizationView Add All Columns" + "\"..."); + } + super.handleAddAllItem(); + super.handleLoadConfigCust(); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/render/AtsTest_Renderer_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/render/AtsTest_Renderer_Suite.java new file mode 100644 index 00000000000..250c41101cd --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/render/AtsTest_Renderer_Suite.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.render; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({RendererManagerTest.class}) +public class AtsTest_Renderer_Suite { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Renderer_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Renderer_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/render/RendererManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/render/RendererManagerTest.java new file mode 100644 index 00000000000..eabea02bdec --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/render/RendererManagerTest.java @@ -0,0 +1,199 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.render; + +import static org.eclipse.osee.ats.api.data.AtsArtifactTypes.Action; +import static org.eclipse.osee.ats.client.integration.tests.ats.render.RendererManagerTest.DefaultOption.Both; +import static org.eclipse.osee.ats.client.integration.tests.ats.render.RendererManagerTest.DefaultOption.Off; +import static org.eclipse.osee.ats.client.integration.tests.ats.render.RendererManagerTest.DefaultOption.On; +import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.Folder; +import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.GeneralDocument; +import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.SoftwareRequirement; +import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.SoftwareRequirementPlainText; +import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.TestCase; +import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.TestInformationSheet; +import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.TestProcedureWML; +import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.DEFAULT_OPEN; +import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.DIFF; +import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.GENERALIZED_EDIT; +import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.MERGE; +import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.PREVIEW; +import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.PRODUCE_ATTRIBUTE; +import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.SPECIALIZED_EDIT; +import java.util.ArrayList; +import java.util.Collection; +import org.eclipse.osee.ats.editor.renderer.AtsWERenderer; +import org.eclipse.osee.framework.core.data.IArtifactType; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; +import org.eclipse.osee.framework.ui.skynet.render.DefaultArtifactRenderer; +import org.eclipse.osee.framework.ui.skynet.render.IRenderer; +import org.eclipse.osee.framework.ui.skynet.render.JavaRenderer; +import org.eclipse.osee.framework.ui.skynet.render.NativeRenderer; +import org.eclipse.osee.framework.ui.skynet.render.PlainTextRenderer; +import org.eclipse.osee.framework.ui.skynet.render.PresentationType; +import org.eclipse.osee.framework.ui.skynet.render.RendererManager; +import org.eclipse.osee.framework.ui.skynet.render.TisRenderer; +import org.eclipse.osee.framework.ui.skynet.render.WholeWordRenderer; +import org.eclipse.osee.framework.ui.skynet.render.WordTemplateRenderer; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; + +/** + * Test Case for {@link RendererManager} + * + * @author Ryan D. Brooks + */ +@RunWith(Parameterized.class) +public class RendererManagerTest { + enum DefaultOption { + On, + Off, + Both + }; + + private final IArtifactType artifactType; + private final PresentationType presentationType; + private final Class clazz; + private final DefaultOption defaultOption; + + public RendererManagerTest(IArtifactType artifactType, PresentationType presentationType, Class clazz, DefaultOption defaultOption) { + this.artifactType = artifactType; + this.presentationType = presentationType; + this.clazz = clazz; + this.defaultOption = defaultOption; + } + + @Test + public void testGetBestRenderer() throws OseeCoreException { + Artifact artifact = new Artifact(null, GUID.create(), null, BranchManager.getCommonBranch(), artifactType); + + if (defaultOption == Both) { + testGetBestRendererWithOption(artifact, On); + testGetBestRendererWithOption(artifact, Off); + } else { + testGetBestRendererWithOption(artifact, defaultOption); + } + } + + private void testGetBestRendererWithOption(Artifact artifact, DefaultOption option) throws OseeCoreException { + UserManager.setSetting(UserManager.DOUBLE_CLICK_SETTING_KEY, String.valueOf(option == On)); + + if (clazz == null) { + try { + IRenderer renderer = computeRenderer(artifact); + String message = + String.format( + "Expected an OseeStateException to be thrown since no render should be applicable in this case.\nRenderer: [%s]", + renderer); + Assert.fail(message); + } catch (OseeStateException ex) { + Assert.assertEquals(String.format("No renderer configured for %s of %s", presentationType, artifact), + ex.getMessage()); + } + } else { + IRenderer renderer = computeRenderer(artifact); + Assert.assertEquals(clazz, renderer.getClass()); + } + } + + private IRenderer computeRenderer(Artifact artifact) throws OseeCoreException { + IRenderer renderer = RendererManager.getBestRenderer(presentationType, artifact); + Assert.assertNotNull(renderer); + return renderer; + } + + @Parameters + public static Collection getData() { + Collection data = new ArrayList(); + + addTest(data, Folder, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); + addTest(data, Folder, SPECIALIZED_EDIT, DefaultArtifactRenderer.class, Both); + addTest(data, Folder, DIFF, WordTemplateRenderer.class, Both); + addTest(data, Folder, PREVIEW, WordTemplateRenderer.class, Both); + addTest(data, Folder, MERGE, null, Both); + addTest(data, Folder, DEFAULT_OPEN, DefaultArtifactRenderer.class, Off); + addTest(data, Folder, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); + addTest(data, Folder, PRODUCE_ATTRIBUTE, DefaultArtifactRenderer.class, Both); + + addTest(data, SoftwareRequirement, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); + addTest(data, SoftwareRequirement, SPECIALIZED_EDIT, WordTemplateRenderer.class, Both); + addTest(data, SoftwareRequirement, DIFF, WordTemplateRenderer.class, Both); + addTest(data, SoftwareRequirement, PREVIEW, WordTemplateRenderer.class, Both); + addTest(data, SoftwareRequirement, MERGE, WordTemplateRenderer.class, Both); + addTest(data, SoftwareRequirement, DEFAULT_OPEN, WordTemplateRenderer.class, Off); + addTest(data, SoftwareRequirement, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); + addTest(data, SoftwareRequirement, PRODUCE_ATTRIBUTE, WordTemplateRenderer.class, Both); + + addTest(data, Action, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); + addTest(data, Action, SPECIALIZED_EDIT, AtsWERenderer.class, Both); + addTest(data, Action, DIFF, AtsWERenderer.class, Both); + addTest(data, Action, PREVIEW, AtsWERenderer.class, Both); + addTest(data, Action, MERGE, AtsWERenderer.class, Both); + addTest(data, Action, DEFAULT_OPEN, AtsWERenderer.class, Off); + addTest(data, Action, DEFAULT_OPEN, AtsWERenderer.class, On); + addTest(data, Action, PRODUCE_ATTRIBUTE, DefaultArtifactRenderer.class, Both); + + addTest(data, TestProcedureWML, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); + addTest(data, TestProcedureWML, SPECIALIZED_EDIT, WholeWordRenderer.class, Both); + addTest(data, TestProcedureWML, DIFF, WholeWordRenderer.class, Both); + addTest(data, TestProcedureWML, PREVIEW, WholeWordRenderer.class, Both); + addTest(data, TestProcedureWML, MERGE, WholeWordRenderer.class, Both); + addTest(data, TestProcedureWML, DEFAULT_OPEN, WholeWordRenderer.class, Off); + addTest(data, TestProcedureWML, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); + addTest(data, TestProcedureWML, PRODUCE_ATTRIBUTE, DefaultArtifactRenderer.class, Both); + + addTest(data, GeneralDocument, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); + addTest(data, GeneralDocument, SPECIALIZED_EDIT, NativeRenderer.class, Both); + addTest(data, GeneralDocument, DIFF, WordTemplateRenderer.class, Both); + addTest(data, GeneralDocument, PREVIEW, NativeRenderer.class, Both); + addTest(data, GeneralDocument, MERGE, null, Both); + addTest(data, GeneralDocument, DEFAULT_OPEN, NativeRenderer.class, Off); + addTest(data, GeneralDocument, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); + addTest(data, GeneralDocument, PRODUCE_ATTRIBUTE, DefaultArtifactRenderer.class, Both); + + addTest(data, TestInformationSheet, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); + addTest(data, TestInformationSheet, SPECIALIZED_EDIT, WordTemplateRenderer.class, Both); + addTest(data, TestInformationSheet, DIFF, WordTemplateRenderer.class, Both); + addTest(data, TestInformationSheet, PREVIEW, TisRenderer.class, Both); + addTest(data, TestInformationSheet, MERGE, WordTemplateRenderer.class, Both); + addTest(data, TestInformationSheet, DEFAULT_OPEN, TisRenderer.class, Off); + addTest(data, TestInformationSheet, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); + addTest(data, TestInformationSheet, PRODUCE_ATTRIBUTE, WordTemplateRenderer.class, Both); + + addTest(data, TestCase, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); + addTest(data, TestCase, SPECIALIZED_EDIT, JavaRenderer.class, Both); + addTest(data, TestCase, DIFF, WordTemplateRenderer.class, Off); + addTest(data, TestCase, PREVIEW, WordTemplateRenderer.class, Both); + addTest(data, TestCase, MERGE, null, Both); + addTest(data, TestCase, DEFAULT_OPEN, JavaRenderer.class, Off); + addTest(data, TestCase, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); + addTest(data, TestCase, PRODUCE_ATTRIBUTE, DefaultArtifactRenderer.class, Both); + + addTest(data, SoftwareRequirementPlainText, SPECIALIZED_EDIT, PlainTextRenderer.class, Both); + addTest(data, SoftwareRequirementPlainText, PREVIEW, PlainTextRenderer.class, Both); + // addTest(data, SoftwareRequirementPlainText, DEFAULT_OPEN, PlainTextRenderer.class, Both); + addTest(data, SoftwareRequirementPlainText, PRODUCE_ATTRIBUTE, PlainTextRenderer.class, Both); + + return data; + } + + private static void addTest(Collection data, Object... params) { + data.add(params); + } +} \ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/AtsTest_Review_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/AtsTest_Review_Suite.java new file mode 100644 index 00000000000..b9fe8917795 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/AtsTest_Review_Suite.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.review; + +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ReviewWorldSearchItemDemoTest.class, ReviewNavigateItemsToWorldViewTest.class}) +/** + * This test suite contains tests that must be run against demo database + * + * @author Donald G. Dunne + */ +public class AtsTest_Review_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Review_Suite.class.getSimpleName()); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Review_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewNavigateItemsToWorldViewTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewNavigateItemsToWorldViewTest.java new file mode 100644 index 00000000000..cef6c46a3d2 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewNavigateItemsToWorldViewTest.java @@ -0,0 +1,139 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.review; + +import static org.junit.Assert.assertTrue; +import java.util.Collection; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.NavigateTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.WorldEditorUtil; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.navigate.SearchNavigateItem; +import org.eclipse.osee.ats.navigate.VisitedItems; +import org.eclipse.osee.ats.review.GenerateReviewParticipationReport; +import org.eclipse.osee.ats.review.ReviewNavigateViewItems; +import org.eclipse.osee.ats.world.WorldEditor; +import org.eclipse.osee.ats.world.search.UserSearchItem; +import org.eclipse.osee.framework.core.data.IArtifactType; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor; + +/** + * Test case for @link {@link ReviewNavigateViewItems} + * + * @author Donald G. Dunne + */ +public class ReviewNavigateItemsToWorldViewTest { + + @org.junit.Test + public void testDemoDatabase() throws Exception { + VisitedItems.clearVisited(); + DemoTestUtil.setUpTest(); + assertTrue(DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones) != null); + } + + @org.junit.Test + public void testMyReviews() throws Exception { + // two exist cause ATS has one in it's list + XNavigateItem item = NavigateTestUtil.getAtsNavigateItems("My Reviews").iterator().next(); + runGeneralLoadingTest(item, AtsArtifactTypes.DecisionReview, 2, null); + runGeneralLoadingTest(item, AtsArtifactTypes.PeerToPeerReview, 2, null); + } + + @org.junit.Test + public void testOtherUsersWorld_KayJones() throws Exception { + XNavigateItem item = NavigateTestUtil.getAtsNavigateItems("User's Reviews").iterator().next(); + runGeneralLoadingTest(item, AtsArtifactTypes.PeerToPeerReview, 1, + AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); + } + + @org.junit.Test + public void testOtherUsersWorld_JoeSmith() throws Exception { + XNavigateItem item = NavigateTestUtil.getAtsNavigateItems("User's Reviews").iterator().next(); + runGeneralLoadingTest(item, AtsArtifactTypes.DecisionReview, 2, + AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + runGeneralLoadingTest(item, AtsArtifactTypes.PeerToPeerReview, 2, + AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + } + + @org.junit.Test + public void testOpenDecisionReviews() throws Exception { + runGeneralLoadingTest("Show Open Decision Reviews", AtsArtifactTypes.DecisionReview, 5, null); + } + + @org.junit.Test + public void testWorkflowsWaitingDecisionReviews() throws Exception { + runGeneralLoadingTest("Show Workflows Waiting Decision Reviews", AtsArtifactTypes.TeamWorkflow, 5, null); + } + + @org.junit.Test + public void testOpenPeerReviews() throws Exception { + runGeneralLoadingTest("Show Open PeerToPeer Reviews", AtsArtifactTypes.PeerToPeerReview, 5, null); + } + + @org.junit.Test + public void testWorkflowsWaitingPeerToPeerReviews() throws Exception { + runGeneralLoadingTest("Show Workflows Waiting PeerToPeer Reviews", AtsArtifactTypes.TeamWorkflow, 4, null); + } + + @org.junit.Test + public void testReviewParticipationReport() throws Exception { + MassArtifactEditor.closeAll(); + XNavigateItem item = + NavigateTestUtil.getAtsNavigateItems("Generate Review Participation Report").iterator().next(); + ((GenerateReviewParticipationReport) item).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); + + item.run(TableLoadOption.ForcePend); + + MassArtifactEditor editor = getSingleEditorOrFail(); + Collection arts = editor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3); + } + + private Collection runGeneralLoadingTest(String xNavigateItemName, IArtifactType artifactType, int numOfType, IAtsUser user) throws Exception { + XNavigateItem item = NavigateTestUtil.getAtsNavigateItem(xNavigateItemName); + return runGeneralLoadingTest(item, artifactType, numOfType, user); + } + + private Collection runGeneralLoadingTest(XNavigateItem item, IArtifactType artifactType, int numOfType, IAtsUser user) throws Exception { + return runGeneralLoadingTest(item, artifactType, numOfType, user, TableLoadOption.None); + } + + private Collection runGeneralLoadingTest(XNavigateItem item, IArtifactType artifactType, int numOfType, IAtsUser user, TableLoadOption tableLoadOption) throws Exception { + WorldEditor.closeAll(); + // Find the correct navigate item + if (user != null && item instanceof SearchNavigateItem) { + if (((SearchNavigateItem) item).getWorldSearchItem() instanceof UserSearchItem) { + ((UserSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedUser(user); + } + } + // Simulate double-click of navigate item + item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI, tableLoadOption); + + WorldEditor worldEditor = WorldEditorUtil.getSingleEditorOrFail(); + Collection arts = worldEditor.getLoadedArtifacts(); + NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, artifactType, numOfType); + return arts; + } + + private static MassArtifactEditor getSingleEditorOrFail() { + // Retrieve results from opened editor and test + Collection editors = MassArtifactEditor.getEditors(); + assertTrue("Expecting 1 editor open, currently " + editors.size(), editors.size() == 1); + return editors.iterator().next(); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewWorldSearchItemDemoTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewWorldSearchItemDemoTest.java new file mode 100644 index 00000000000..b536ed7d5f2 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/review/ReviewWorldSearchItemDemoTest.java @@ -0,0 +1,97 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.review; + +import static org.junit.Assert.assertTrue; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import java.util.Set; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.client.demo.DemoUsers; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.NavigateTestUtil; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.config.ActionableItems; +import org.eclipse.osee.ats.navigate.VisitedItems; +import org.eclipse.osee.ats.review.ReviewWorldSearchItem; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; + +/** + * Test Case for @link {@link ReviewWorldSearchItem} + * + * @author Donald G. Dunne + */ +public class ReviewWorldSearchItemDemoTest { + + @org.junit.Test + public void testDemoDatabase() throws Exception { + VisitedItems.clearVisited(); + DemoTestUtil.setUpTest(); + assertTrue(DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones) != null); + } + + @org.junit.Test + public void testAiSearch() throws Exception { + IAtsUser joe = AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith); + Set aias = ActionableItems.getActionableItems(Arrays.asList("SAW Code")); + ReviewWorldSearchItem search = + new ReviewWorldSearchItem("", aias, false, false, false, null, joe, null, null, null); + Collection arts = search.performSearchGetResults(); + NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.PeerToPeerReview, 2); + NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.DecisionReview, 0); + } + + @org.junit.Test + public void testState() throws Exception { + IAtsUser joe = AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith); + Set aias = ActionableItems.getActionableItems(Arrays.asList("SAW Code")); + ReviewWorldSearchItem search = + new ReviewWorldSearchItem("", aias, false, false, false, null, joe, null, null, "Prepare"); + Collection arts = search.performSearchGetResults(); + NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.PeerToPeerReview, 1); + NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.DecisionReview, 0); + } + + @org.junit.Test + public void testIncludeCompleted() throws Exception { + Set aias = ActionableItems.getActionableItems(Arrays.asList("SAW Code")); + ReviewWorldSearchItem search = + new ReviewWorldSearchItem("", aias, true, false, false, null, null, null, null, null); + Collection arts = search.performSearchGetResults(); + NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.PeerToPeerReview, 3); + NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.DecisionReview, 0); + } + + @org.junit.Test + public void testAssignee_Kay() throws Exception { + IAtsUser Kay_Jones = AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones); + Set aias = ActionableItems.getActionableItems(Arrays.asList("SAW Code")); + ReviewWorldSearchItem search = + new ReviewWorldSearchItem("", aias, false, false, false, null, Kay_Jones, null, null, null); + Collection arts = search.performSearchGetResults(); + NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.PeerToPeerReview, 1); + NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.DecisionReview, 0); + } + + @org.junit.Test + public void testAssignee_Joe() throws Exception { + IAtsUser Joe_Smith = AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith); + ReviewWorldSearchItem search = + new ReviewWorldSearchItem("", (List) null, false, false, false, null, Joe_Smith, null, null, null); + Collection arts = search.performSearchGetResults(); + NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.PeerToPeerReview, 2); + NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.DecisionReview, 1); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AbstractImageManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AbstractImageManagerTest.java new file mode 100644 index 00000000000..2ba2c3b448b --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AbstractImageManagerTest.java @@ -0,0 +1,145 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.util; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import java.io.ByteArrayInputStream; +import java.net.URL; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; +import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; +import org.eclipse.osee.framework.core.exception.OseeArgumentException; +import org.eclipse.osee.framework.jdk.core.util.Lib; +import org.eclipse.osee.framework.logging.IHealthStatus; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache; +import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCacheQuery; +import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; +import org.eclipse.osee.framework.ui.plugin.PluginUiImage; +import org.eclipse.osee.framework.ui.skynet.ArtifactImageManager; +import org.eclipse.osee.framework.ui.swt.ImageManager; +import org.eclipse.osee.framework.ui.swt.KeyedImage; + +/** + * @author Donald G. Dunne + */ +public abstract class AbstractImageManagerTest { + + private static final String pluginId = "org.eclipse.osee.ats"; + + private final KeyedImage[] oseeImages; + private final String imageClassName; + + private static SevereLoggingMonitor monitorLog; + + public AbstractImageManagerTest(String imageClassName, KeyedImage[] oseeImages) { + this.imageClassName = imageClassName; + this.oseeImages = oseeImages; + } + + @org.junit.BeforeClass + public static void testSetup() throws Exception { + monitorLog = new SevereLoggingMonitor(); + OseeLog.registerLoggerListener(monitorLog); + } + + @org.junit.AfterClass + public static void testCleanup() throws Exception { + List stats = monitorLog.getAllLogs(); + for (IHealthStatus stat : new CopyOnWriteArrayList(stats)) { + if (stat.getException() != null) { + fail("Exception: " + Lib.exceptionToString(stat.getException())); + } + } + StringBuffer sb = new StringBuffer(); + for (IHealthStatus stat : new CopyOnWriteArrayList(stats)) { + if (stat.getMessage().contains("Unable to load the image for") && !stat.getMessage().contains("nothere")) { + sb.append(stat.getMessage() + "\n"); + } + } + if (!sb.toString().equals("")) { + fail(sb.toString()); + } + } + + /** + * Test that all image enums have associated image files. (Non return missing image) + */ + @org.junit.Test + public void testFrameworkImageEnums() throws Exception { + StringBuffer sb = new StringBuffer(); + for (KeyedImage oseeImage : oseeImages) { + if (oseeImage == ImageManager.MISSING) { + continue; + } + assertNotNull(String.format("[%s] Image not defined for [%s]", imageClassName, oseeImage), + ImageManager.getImage(oseeImage)); + if (ImageManager.getImage(oseeImage).equals(ImageManager.getImage(ImageManager.MISSING))) { + sb.append(String.format("\n[%s] Image not defined for [%s]", imageClassName, oseeImage)); + } + } + assertEquals("", sb.toString()); + } + + @org.junit.Test + public void testGetImageByType() throws Exception { + assertTrue("Image returned not a folder image.", + ArtifactImageManager.getImage(CoreArtifactTypes.Folder).equals(ImageManager.getImage(PluginUiImage.FOLDER))); + + } + + @org.junit.Test + public void testGetImageByArtifact() throws Exception { + Artifact folder = + ArtifactCacheQuery.getOrCreateSingletonArtifactByText(CoreArtifactTypes.Folder, CoreAttributeTypes.StaticId, + "user.groups", BranchManager.getCommonBranch()); + assertTrue("Image returned not a folder image.", + ArtifactImageManager.getImage(folder).equals(ImageManager.getImage(PluginUiImage.FOLDER))); + ArtifactCache.deCache(folder); + } + + public ByteArrayInputStream getByteArrayInputStream(String imageFilename) throws Exception { + URL imageFile = Platform.getBundle(pluginId).getResource("images/" + imageFilename); + if (imageFile == null) { + throw new OseeArgumentException("Invalid image filename."); + } + return new ByteArrayInputStream(Lib.inputStreamToBytes(imageFile.openStream())); + } + + public enum MissingImage implements KeyedImage { + NOT_HERE("nothere.gif"); + + private final String fileName; + + private MissingImage(String fileName) { + this.fileName = fileName; + } + + @Override + public ImageDescriptor createImageDescriptor() { + return ImageManager.createImageDescriptor(pluginId, "images", fileName); + } + + @Override + public String getImageKey() { + return pluginId + "." + fileName; + } + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsDeleteManagerTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsDeleteManagerTest.java new file mode 100644 index 00000000000..ed25459c4ee --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsDeleteManagerTest.java @@ -0,0 +1,243 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.util; + +import static org.eclipse.osee.framework.core.enums.DeletionFlag.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.List; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.api.workdef.ReviewBlockType; +import org.eclipse.osee.ats.client.demo.DemoActionableItems; +import org.eclipse.osee.ats.client.demo.DemoArtifactTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.core.client.action.ActionManager; +import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; +import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.workflow.ChangeType; +import org.eclipse.osee.ats.core.config.ActionableItems; +import org.eclipse.osee.ats.util.AtsDeleteManager; +import org.eclipse.osee.ats.util.AtsDeleteManager.DeleteOption; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.data.IArtifactType; +import org.eclipse.osee.framework.core.data.Named; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.jdk.core.type.CountingMap; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * This test must be run against a demo database. It tests the case where a team workflow or action is deleted or purged + * and makes sure that all expected related ats objects are deleted also. + * + * @author Donald G. Dunne + */ +public class AtsDeleteManagerTest { + + private enum TestNames { + TeamArtDeleteOneWorkflow, + TeamArtDeleteWithTwoWorkflows, + TeamArtPurge, + ActionDelete, + ActionPurge + }; + + @BeforeClass + public static void testCleanupPre() throws Exception { + DemoTestUtil.setUpTest(); + cleanup(); + } + + /** + * Test method for + * {@link org.eclipse.osee.ats.util.AtsDeleteManager#handleDeletePurgeAtsObject(java.util.Collection, org.eclipse.osee.ats.util.AtsDeleteManager.DeleteOption[])} + * . + */ + @org.junit.Test + public void testTeamArtDeleteOneWorkflow() throws Exception { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Delete Manager Test"); + // Create Action + TeamWorkFlowArtifact teamArt = + createAction(TestNames.TeamArtDeleteOneWorkflow, + ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Code.getName())), transaction); + transaction.execute(); + + // Verify exists + verifyExists(TestNames.TeamArtDeleteOneWorkflow, 1, 1, 0, 2, 1); + + // Delete + AtsDeleteManager.handleDeletePurgeAtsObject(Arrays.asList(teamArt), true, DeleteOption.Delete); + + // Verify doesn't exist + verifyExists(TestNames.TeamArtDeleteOneWorkflow, 0, 0, 0, 0, 0); + } + + /** + * Test method for + * {@link org.eclipse.osee.ats.util.AtsDeleteManager#handleDeletePurgeAtsObject(java.util.Collection, org.eclipse.osee.ats.util.AtsDeleteManager.DeleteOption[])} + * . + */ + @org.junit.Test + public void testTeamArtDeleteWithTwoWorkflows() throws Exception { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Delete Manager Test"); + // Create Action + TeamWorkFlowArtifact teamArt = + createAction(TestNames.TeamArtDeleteWithTwoWorkflows, ActionableItems.getActionableItems(Arrays.asList( + DemoActionableItems.SAW_Code.getName(), DemoActionableItems.SAW_Requirements.getName())), transaction); + transaction.execute(); + + // Verify exists + verifyExists(TestNames.TeamArtDeleteWithTwoWorkflows, 1, 1, 1, 2, 1); + + // Delete + AtsDeleteManager.handleDeletePurgeAtsObject(Arrays.asList(teamArt), true, DeleteOption.Delete); + + // Verify Action and Req Workflow still exist + verifyExists(TestNames.TeamArtDeleteWithTwoWorkflows, 1, 0, 1, 0, 0); + } + + @org.junit.Test + public void testTeamArtPurge() throws Exception { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Delete Manager Test"); + // Create Action + TeamWorkFlowArtifact teamArt = + createAction(TestNames.TeamArtPurge, + ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Code.getName())), transaction); + transaction.execute(); + + // Verify exists + verifyExists(TestNames.TeamArtPurge, 1, 1, 0, 2, 1); + + // Delete + AtsDeleteManager.handleDeletePurgeAtsObject(Arrays.asList(teamArt), true, DeleteOption.Purge); + + // Verify doesn't exist + verifyExists(TestNames.TeamArtPurge, 0, 0, 0, 0, 0); + } + + @org.junit.Test + public void testActionDelete() throws Exception { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Delete Manager Test"); + // Create Action + TeamWorkFlowArtifact teamArt = + createAction(TestNames.ActionDelete, + ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Code.getName())), transaction); + transaction.execute(); + + // Verify exists + verifyExists(TestNames.ActionDelete, 1, 1, 0, 2, 1); + + // Delete + AtsDeleteManager.handleDeletePurgeAtsObject(Arrays.asList(teamArt), true, DeleteOption.Delete); + + // Verify doesn't exist + verifyExists(TestNames.ActionDelete, 0, 0, 0, 0, 0); + } + + @org.junit.Test + public void testActionPurge() throws Exception { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Delete Manager Test"); + // Create Action + TeamWorkFlowArtifact teamArt = + createAction(TestNames.ActionPurge, + ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Code.getName())), transaction); + transaction.execute(); + + // Verify exists + verifyExists(TestNames.ActionPurge, 1, 1, 0, 2, 1); + + // Delete + AtsDeleteManager.handleDeletePurgeAtsObject(Arrays.asList(teamArt), true, DeleteOption.Purge); + + // Verify doesn't exist + verifyExists(TestNames.ActionPurge, 0, 0, 0, 0, 0); + } + + private void verifyExists(TestNames testName, int expectedNumActions, int expectedNumCodeWorkflows, int expectedNumReqWorkflows, int expectedNumTasks, int expectedNumReviews) throws OseeCoreException { + List artifacts = + ArtifactQuery.getArtifactListFromName(testName.toString(), AtsUtil.getAtsBranch(), EXCLUDE_DELETED, + QueryOptions.CONTAINS_MATCH_OPTIONS); + CountingMap countMap = new CountingMap(); + for (Artifact artifact : artifacts) { + countMap.put(artifact.getArtifactType()); + } + checkExpectedCount(countMap, AtsArtifactTypes.Action, expectedNumActions); + checkExpectedCount(countMap, DemoArtifactTypes.DemoCodeTeamWorkflow, expectedNumCodeWorkflows); + checkExpectedCount(countMap, DemoArtifactTypes.DemoReqTeamWorkflow, expectedNumReqWorkflows); + checkExpectedCount(countMap, AtsArtifactTypes.Task, expectedNumTasks); + checkExpectedCount(countMap, AtsArtifactTypes.DecisionReview, expectedNumReviews); + } + + private void checkExpectedCount(CountingMap map, T key, int expectedCount) { + int actualCount = map.get(key); + String message = String.format("%s expected[%s] actual[%s]", key.getName(), expectedCount, actualCount); + Assert.assertEquals(message, expectedCount, actualCount); + } + + private TeamWorkFlowArtifact createAction(TestNames testName, Collection actionableItems, SkynetTransaction transaction) throws OseeCoreException { + Date createdDate = new Date(); + IAtsUser createdBy = AtsUsersClient.getUser(); + Artifact actionArt = + ActionManager.createAction(null, testName.name(), "Description", ChangeType.Improvement, "2", false, null, + actionableItems, createdDate, createdBy, null, transaction); + + TeamWorkFlowArtifact teamArt = null; + for (TeamWorkFlowArtifact team : ActionManager.getTeams(actionArt)) { + if (team.getTeamDefinition().getName().contains("Code")) { + teamArt = team; + } + } + + teamArt.createTasks(Arrays.asList(testName.name() + " Task 1", testName.name() + " Task 2"), null, createdDate, + createdBy, transaction); + + DecisionReviewArtifact decRev = + DecisionReviewManager.createNewDecisionReview(teamArt, ReviewBlockType.None, testName.name(), + TeamState.Endorse.getName(), "Description", DecisionReviewManager.getDefaultDecisionReviewOptions(), + Arrays.asList(AtsUsersClient.getUser()), createdDate, createdBy); + decRev.persist(transaction); + + return teamArt; + + } + + @AfterClass + public static void testCleanupPost() throws Exception { + cleanup(); + } + + private static void cleanup() throws Exception { + List names = new ArrayList(); + for (TestNames testName : TestNames.values()) { + names.add(testName.name()); + } + AtsTestUtil.cleanupSimpleTest(names); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsImageTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsImageTest.java new file mode 100644 index 00000000000..841fc90ce49 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsImageTest.java @@ -0,0 +1,24 @@ +/******************************************************************************* + * Copyright (c) 2010 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.util; + +import org.eclipse.osee.ats.AtsImage; + +/** + * @author Donald G. Dunne + */ +public class AtsImageTest extends AbstractImageManagerTest { + + public AtsImageTest() { + super("AtsImage", AtsImage.values()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsTest_Util_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsTest_Util_Suite.java new file mode 100644 index 00000000000..2443209539e --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsTest_Util_Suite.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.util; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + AtsDeleteManagerTest.class, + AtsImageTest.class, + AtsXWidgetsExampleBlamTest.class, + CreateActionUsingAllActionableItemsTest.class, + ImportActionsViaSpreadsheetTest.class}) +/** + * @author Donald G. Dunne + */ +public class AtsTest_Util_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Util_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Util_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsXWidgetsExampleBlamTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsXWidgetsExampleBlamTest.java new file mode 100644 index 00000000000..aac8cb57f8e --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/AtsXWidgetsExampleBlamTest.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.util; + +import java.util.Map; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; +import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; +import org.eclipse.osee.framework.ui.skynet.blam.BlamContributionManager; +import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author Karol M. Wilk + */ +public class AtsXWidgetsExampleBlamTest { + + private static final String NAME_OF_ATS_ITEM = "XWidgets Example Blam"; + + /** + * Load NAME_OF_ATS_ITEM blam, log any exceptions and report them as test failures. Purpose of this test is to serve + * as a regression test to various widgets loaded in XWidgetExampleBlam. + */ + @Test + public void testXWidgetsExampleBlam() throws Exception { + SevereLoggingMonitor monitorLog = TestUtil.severeLoggingStart(); + + XNavigateItemBlam item = null; + Map blams = BlamContributionManager.getBlamMap(); + + boolean foundBlam = blams.containsKey(NAME_OF_ATS_ITEM); + if (foundBlam) { + item = + new XNavigateItemBlam(new XNavigateItem(null, "Blam Operations", FrameworkImage.BLAM), + blams.get(NAME_OF_ATS_ITEM)); + } + + Assert.assertTrue(String.format("%s not found from list of provided Blams.", NAME_OF_ATS_ITEM), foundBlam); + item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI); + + Assert.assertTrue( + "Exceptions were thrown during AtsXWidgetsExampleBlamTest (gui test of XWidgetExampleBlam) should be none.", + monitorLog.getSevereLogs().isEmpty()); + + TestUtil.severeLoggingEnd(monitorLog); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/CreateActionUsingAllActionableItemsTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/CreateActionUsingAllActionableItemsTest.java new file mode 100644 index 00000000000..f1480364b7b --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/CreateActionUsingAllActionableItemsTest.java @@ -0,0 +1,57 @@ +/* + * Created on Aug 29, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.client.integration.tests.ats.util; + +import junit.framework.Assert; +import org.eclipse.osee.ats.core.client.action.ActionArtifact; +import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.ats.util.CreateActionUsingAllActionableItems; +import org.eclipse.osee.framework.core.enums.DeletionFlag; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +/** + * Test for {@link CreateActionUsingAllActionableItems} + * + * @author Donald G. Dunne + */ +public class CreateActionUsingAllActionableItemsTest { + + @BeforeClass + @AfterClass + public static void cleanup() throws OseeCoreException { + AtsBulkLoad.reloadConfig(true); + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), + CreateActionUsingAllActionableItemsTest.class.getSimpleName()); + for (Artifact art : ArtifactQuery.getArtifactListFromName("Big Action Test - Delete Me", + AtsUtil.getAtsBranchToken(), DeletionFlag.EXCLUDE_DELETED)) { + art.deleteAndPersist(transaction); + } + transaction.execute(); + } + + @org.junit.Test + public void test() throws Exception { + SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); + ActionArtifact action = CreateActionUsingAllActionableItems.createActionWithAllAis(); + if (TestUtil.isDemoDb()) { + Assert.assertEquals("Should be 14 workflows created", 14, action.getTeams().size()); + } else { + Assert.assertEquals("Should be 33 workflows created", 33, action.getTeams().size()); + } + TestUtil.severeLoggingEnd(monitor); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/ImportActionsViaSpreadsheetTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/ImportActionsViaSpreadsheetTest.java new file mode 100644 index 00000000000..ca42f053716 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/util/ImportActionsViaSpreadsheetTest.java @@ -0,0 +1,102 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.util; + +import static org.eclipse.osee.framework.core.enums.DeletionFlag.EXCLUDE_DELETED; +import static org.junit.Assert.assertFalse; +import java.io.File; +import java.util.Arrays; +import java.util.List; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.config.AtsVersionService; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.ats.util.Import.ImportActionsViaSpreadsheetBlam; +import org.eclipse.osee.ats.util.Import.ImportActionsViaSpreadsheetBlam.ImportOption; +import org.eclipse.osee.framework.core.util.XResultData; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; + +/** + * This test is intended to be run against a demo database. + * + * @author Donald G. Dunne + */ +public class ImportActionsViaSpreadsheetTest { + + private static final String FIRST_ACTION_TITLE = "Fix the SAW Editor"; + private static final String SECOND_ACTION_TITLE = "Add the new feature"; + private static final String THIRD_ACTION_TITLE = "Help the users"; + private static List ActionTitles = + Arrays.asList(FIRST_ACTION_TITLE, SECOND_ACTION_TITLE, THIRD_ACTION_TITLE); + + @BeforeClass + @AfterClass + public static void cleanUp() throws Exception { + AtsTestUtil.cleanupSimpleTest(ActionTitles); + } + + @Before + public void setUp() throws Exception { + // This test should only be run on test db + assertFalse(AtsUtil.isProductionDb()); + + for (String title : ActionTitles) { + List arts = ArtifactQuery.getArtifactListFromName(title, AtsUtil.getAtsBranch(), EXCLUDE_DELETED); + Assert.assertEquals(String.format("Action [%s] should have been purged before test start.", title), 0, + arts.size()); + } + } + + @org.junit.Test + public void testImport() throws Exception { + AtsBulkLoad.loadConfig(true); + ImportActionsViaSpreadsheetBlam blam = new ImportActionsViaSpreadsheetBlam(); + + File file = blam.getSampleSpreadsheetFile(); + Assert.assertNotNull(file); + + XResultData rd = blam.importActions(file, ImportOption.NONE); + Assert.assertEquals("No errors should be reported", "", rd.toString()); + + List arts = + ArtifactQuery.getArtifactListFromName(FIRST_ACTION_TITLE, AtsUtil.getAtsBranch(), EXCLUDE_DELETED); + Assert.assertEquals("One Action and 3 Team Workflows should be created", 4, arts.size()); + int codeCount = 0, testCount = 0; + TeamWorkFlowArtifact testWf = null; + for (Artifact art : arts) { + if (art.isOfType(AtsArtifactTypes.TeamWorkflow)) { + TeamWorkFlowArtifact teamArt = (TeamWorkFlowArtifact) art; + if (teamArt.getTeamDefinition().getName().contains("Code")) { + codeCount++; + } else if (teamArt.getTeamDefinition().getName().contains("Test")) { + testCount++; + testWf = teamArt; + } + } + } + Assert.assertEquals(2, codeCount); + Assert.assertEquals(1, testCount); + + Assert.assertEquals("What needs to be done by Test team", testWf.getDescription()); + Assert.assertEquals("5", testWf.getSoleAttributeValue(AtsAttributeTypes.PriorityType, "")); + Assert.assertTrue(testWf.getSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 0.0) == 4.0); + Assert.assertEquals("Improvement", testWf.getSoleAttributeValue(AtsAttributeTypes.ChangeType, null)); + Assert.assertEquals("SAW_Bld_3", AtsVersionService.get().getTargetedVersion(testWf).getName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/workflow/AtsTest_Workflow_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/workflow/AtsTest_Workflow_Suite.java new file mode 100644 index 00000000000..fdf99a5b4e7 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/workflow/AtsTest_Workflow_Suite.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.workflow; + +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Roberto E. Escobar + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({SMAPromptChangeStatusTest.class}) +public class AtsTest_Workflow_Suite { + + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + System.out.println("\n\nBegin " + AtsTest_Workflow_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_Workflow_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/workflow/SMAPromptChangeStatusTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/workflow/SMAPromptChangeStatusTest.java new file mode 100644 index 00000000000..cce08f9b583 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/workflow/SMAPromptChangeStatusTest.java @@ -0,0 +1,187 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.workflow; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import java.util.Arrays; +import java.util.Collection; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.task.TaskStates; +import org.eclipse.osee.ats.core.client.team.TeamState; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.workflow.AbstractWorkflowArtifact; +import org.eclipse.osee.ats.core.client.workflow.AtsWorkStateFactory; +import org.eclipse.osee.ats.core.client.workflow.HoursSpentUtil; +import org.eclipse.osee.ats.core.client.workflow.PercentCompleteTotalUtil; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; +import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; +import org.eclipse.osee.ats.core.model.impl.WorkStateImpl; +import org.eclipse.osee.ats.editor.SMAPromptChangeStatus; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; + +/** + * @author Donald G. Dunne + */ +public class SMAPromptChangeStatusTest { + + public static TeamWorkFlowArtifact teamArt; + + @Before + public void setUp() throws Exception { + // This test should only be run on test db + assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); + } + + @BeforeClass + public static void testCleanupPre() throws Exception { + AtsTestUtil.cleanupSimpleTest(SMAPromptChangeStatusTest.class.getSimpleName()); + } + + @org.junit.Test + public void testInitialize() throws Exception { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); + teamArt = DemoTestUtil.createSimpleAction(getClass().getSimpleName(), transaction); + transaction.execute(); + assertNotNull(teamArt); + } + + @org.junit.Test + public void testChangeTaskStatusNoResolution() throws Exception { + + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); + Collection tasks = + DemoTestUtil.createSimpleTasks(teamArt, getClass().getSimpleName() + "_NoRes", 4, transaction); + transaction.execute(); + + assertTrue(tasks.size() == 4); + + assertTrue(SMAPromptChangeStatus.isValidToChangeStatus(tasks).isTrue()); + + // Change two to 100, 1 hr split + SMAPromptChangeStatus.performChangeStatus(tasks, null, 1, 100, true, true); + validateSMAs(tasks, TaskStates.InWork.getName(), 100, 0.25); + + // Change two to 100, 1 hr split + // hours should be added to inwork state; make sure completed state isn't statused + SMAPromptChangeStatus.performChangeStatus(tasks, null, 1, 100, true, true); + validateSMAs(tasks, TaskStates.InWork.getName(), 100, 0.50); + + // Change two to 99, 1 hr split + // transitions to InWork and adds hours + // make sure hours not added to completed state + SMAPromptChangeStatus.performChangeStatus(tasks, null, 1, 99, true, true); + validateSMAs(tasks, TaskStates.InWork.getName(), 99, 0.75); + + // Change two to 55, 0 + // no transition, no hours spent + SMAPromptChangeStatus.performChangeStatus(tasks, null, 0, 55, true, true); + validateSMAs(tasks, TaskStates.InWork.getName(), 55, 0.75); + + } + + @org.junit.Test + public void testChangeStatusFailsIfTaskCancelled() throws Exception { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); + Collection tasks = + DemoTestUtil.createSimpleTasks(teamArt, getClass().getSimpleName() + "_Cancel", 2, transaction); + transaction.execute(); + + assertTrue(tasks.size() == 2); + TaskArtifact cancelTask = tasks.iterator().next(); + + // test that if one task is cancelled, can't change status + transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); + TransitionHelper helper = + new TransitionHelper("Transition to Cancelled", Arrays.asList(cancelTask), TaskStates.Cancelled.getName(), + null, null, TransitionOption.None); + TransitionManager transitionMgr = new TransitionManager(helper, transaction); + TransitionResults results = transitionMgr.handleAll(); + transitionMgr.getTransaction().execute(); + Assert.assertTrue("Transition should have no errors", results.isEmpty()); + + Result result = SMAPromptChangeStatus.isValidToChangeStatus(tasks); + assertTrue(result.isFalse()); + assertTrue(result.getText().contains("Can not status a cancelled")); + + } + + @org.junit.Test + public void testChangeStatusFailsIfTaskWrongRelatedToState() throws Exception { + SkynetTransaction transaction = + TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); + Collection tasks = + DemoTestUtil.createSimpleTasks(teamArt, getClass().getSimpleName() + "_RelState", 2, transaction); + transaction.execute(); + + assertTrue(tasks.size() == 2); + TaskArtifact taskArt = tasks.iterator().next(); + + // test that if task not in related-to state of workflows's current status, can't change status + transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); + taskArt.setSoleAttributeValue(AtsAttributeTypes.RelatedToState, TeamState.Analyze.getName()); + transaction.execute(); + Result result = SMAPromptChangeStatus.isValidToChangeStatus(tasks); + assertTrue(result.isFalse()); + assertTrue(result.getText().contains("Task work must be done in")); + } + + @AfterClass + public static void testCleanupPost() throws Exception { + AtsTestUtil.cleanupSimpleTest(SMAPromptChangeStatusTest.class.getSimpleName()); + } + + private static void validateSMAs(Collection awas, String stateName, int totalPercent, double hoursSpent) throws Exception { + for (AbstractWorkflowArtifact awa : awas) { + Assert.assertEquals("Current State wrong for " + awa.getHumanReadableId(), + awa.getStateMgr().getCurrentStateName(), stateName); + if (awa.isCompletedOrCancelled()) { + Assert.assertEquals("ats.CurrentState wrong " + awa.getHumanReadableId(), + awa.getStateMgr().getCurrentStateName() + ";;;", + awa.getSoleAttributeValue(AtsAttributeTypes.CurrentState)); + } + Assert.assertEquals("Percent wrong for " + awa.getHumanReadableId(), + PercentCompleteTotalUtil.getPercentCompleteTotal(awa), totalPercent); + Assert.assertEquals("Hours Spent wrong for " + awa.getHumanReadableId(), + HoursSpentUtil.getHoursSpentTotal(awa), hoursSpent, 0.0); + + for (String xml : awa.getAttributesToStringList(AtsAttributeTypes.State)) { + WorkStateImpl state = AtsWorkStateFactory.getFromXml(xml); + boolean isCompletedCancelledState = isCompletedCancelledState(awa, state.getName()); + if (isCompletedCancelledState) { + Assert.assertTrue("completed/cancelled ats.State [" + xml + "] wrong " + awa.getHumanReadableId(), + xml.endsWith(";;;")); + } + } + } + } + + private static boolean isCompletedCancelledState(AbstractWorkflowArtifact aba, String stateName) { + return aba.getWorkDefinition().getStateByName(stateName).getStateType().isCompletedOrCancelledState(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/AtsTest_World_Search_Suite.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/AtsTest_World_Search_Suite.java new file mode 100644 index 00000000000..d3092ab892b --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/AtsTest_World_Search_Suite.java @@ -0,0 +1,33 @@ +package org.eclipse.osee.ats.client.integration.tests.ats.world.search; + +import static org.junit.Assert.assertTrue; +import org.eclipse.osee.ats.client.integration.tests.util.DemoTestUtil; +import org.eclipse.osee.framework.core.client.ClientSessionManager; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({LegacyPcrIdQuickSearchTest.class, TeamDefinitionQuickSearchTest.class}) +/** + * @author Donald G. Dunne + */ +public class AtsTest_World_Search_Suite { + @BeforeClass + public static void setUp() throws Exception { + OseeProperties.setIsInTest(true); + assertTrue("Demo Application Server must be running.", + ClientSessionManager.getAuthenticationProtocols().contains("demo")); + assertTrue("Client must authenticate using demo protocol", + ClientSessionManager.getSession().getAuthenticationProtocol().equals("demo")); + System.out.println("\n\nBegin " + AtsTest_World_Search_Suite.class.getSimpleName()); + DemoTestUtil.setUpTest(); + } + + @AfterClass + public static void tearDown() throws Exception { + System.out.println("End " + AtsTest_World_Search_Suite.class.getSimpleName()); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/LegacyPcrIdQuickSearchTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/LegacyPcrIdQuickSearchTest.java new file mode 100644 index 00000000000..c18e9427092 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/LegacyPcrIdQuickSearchTest.java @@ -0,0 +1,72 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.world.search; + +import java.util.Arrays; +import java.util.Collection; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.data.AtsAttributeTypes; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.world.search.LegacyPcrIdQuickSearch; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.junit.Test; + +/** + * Test Case for {@link LegacyPcrIdQuickSearch} + * + * @author Donald G. Dunne + */ +public class LegacyPcrIdQuickSearchTest { + + @Test + public void testPerformSearch() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName() + ".testPerformSearch"); + TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); + teamWf.persist(getClass().getSimpleName()); + + TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); + teamWf2.persist(getClass().getSimpleName()); + + LegacyPcrIdQuickSearch srch = new LegacyPcrIdQuickSearch(Arrays.asList("67676")); + Assert.assertTrue("No results should be found", srch.performSearch().isEmpty()); + + teamWf.setSoleAttributeValue(AtsAttributeTypes.LegacyPcrId, "67676"); + teamWf.persist(getClass().getSimpleName()); + + srch = new LegacyPcrIdQuickSearch(Arrays.asList("67676")); + Assert.assertEquals("Should return teamWf", teamWf, srch.performSearch().iterator().next()); + + teamWf2.setSoleAttributeValue(AtsAttributeTypes.LegacyPcrId, "32323"); + teamWf2.persist(getClass().getSimpleName()); + + srch = new LegacyPcrIdQuickSearch(Arrays.asList("67676", "32323")); + Collection results = srch.performSearch(); + Assert.assertTrue(results.contains(teamWf)); + Assert.assertTrue(results.contains(teamWf2)); + + teamWf.setSoleAttributeValue(AtsAttributeTypes.LegacyPcrId, "RPCR_67676"); + teamWf.persist(getClass().getSimpleName()); + + // As single string, neither should be found if exactMatch == true + srch = new LegacyPcrIdQuickSearch(Arrays.asList("RPCR 67676")); + results = srch.performSearch(true); + Assert.assertTrue("No results should be found", results.isEmpty()); + + // As single string, both should be found if exactMatch == false + srch = new LegacyPcrIdQuickSearch(Arrays.asList("RPCR 67676")); + results = srch.performSearch(false); + Assert.assertTrue(results.contains(teamWf)); + + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/TeamDefinitionQuickSearchTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/TeamDefinitionQuickSearchTest.java new file mode 100644 index 00000000000..beb90cc3c7a --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/ats/world/search/TeamDefinitionQuickSearchTest.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.ats.world.search; + +import java.util.Arrays; +import java.util.Collection; +import junit.framework.Assert; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.client.integration.tests.ats.core.client.AtsTestUtil; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.config.AtsConfigCache; +import org.eclipse.osee.ats.world.search.TeamDefinitionQuickSearch; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.junit.Test; + +/** + * Test Case for {@link TeamDefinitionQuickSearch} + * + * @author Donald G. Dunne + */ +public class TeamDefinitionQuickSearchTest { + + @Test + public void testPerformSearch() throws OseeCoreException { + AtsTestUtil.cleanupAndReset(getClass().getSimpleName() + ".testPerformSearch"); + TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); + teamWf.persist(getClass().getSimpleName()); + + IAtsTeamDefinition randomTeamDef = + AtsConfigCache.instance.getTeamDefinitionFactory().createTeamDefinition("tdqst", getClass().getSimpleName()); + + TeamDefinitionQuickSearch srch = new TeamDefinitionQuickSearch(Arrays.asList(randomTeamDef)); + Assert.assertTrue("No results should be found", srch.performSearch().isEmpty()); + + IAtsTeamDefinition teamDef = teamWf.getTeamDefinition(); + + srch = new TeamDefinitionQuickSearch(Arrays.asList(teamDef)); + Assert.assertEquals("Should return teamWf", teamWf, srch.performSearch().iterator().next()); + + srch = new TeamDefinitionQuickSearch(Arrays.asList(teamDef, randomTeamDef)); + Assert.assertEquals("Should return teamWf", teamWf, srch.performSearch().iterator().next()); + + TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); + teamWf2.persist(getClass().getSimpleName()); + + srch = new TeamDefinitionQuickSearch(Arrays.asList(teamDef, randomTeamDef)); + Collection results = srch.performSearch(); + Assert.assertTrue(results.contains(teamWf)); + Assert.assertTrue(results.contains(teamWf2)); + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/DbInitTest.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/DbInitTest.java new file mode 100644 index 00000000000..f934a6defee --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/DbInitTest.java @@ -0,0 +1,76 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.util; + +import static org.junit.Assert.assertTrue; +import java.util.List; +import java.util.logging.Level; +import org.eclipse.osee.ats.client.demo.DemoChoice; +import org.eclipse.osee.framework.core.client.ClientSessionManager; +import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.eclipse.osee.framework.database.init.DatabaseInitOpFactory; +import org.eclipse.osee.framework.jdk.core.util.OseeProperties; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.logging.SevereLoggingMonitor; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.ui.skynet.render.RenderingUtil; +import org.eclipse.osee.support.test.util.TestUtil; +import org.junit.Assert; +import org.junit.BeforeClass; + +/** + * @author Donald G. Dunne + */ +public class DbInitTest { + private static boolean wasDbInitSuccessful = false; + + @BeforeClass + public static void setup() throws Exception { + OseeProperties.setIsInTest(true); + assertTrue("Demo Application Server must be running", + ClientSessionManager.getAuthenticationProtocols().contains("demo")); + RenderingUtil.setPopupsAllowed(false); + } + + @org.junit.Test + public void testDbInit() throws Exception { + System.out.println("\nBegin database initialization..."); + + List protocols = ClientSessionManager.getAuthenticationProtocols(); + Assert.assertTrue("Application Server must be running." + protocols, protocols.contains("demo")); + + OseeLog.log(DbInitTest.class, Level.INFO, "Begin Database Initialization..."); + + SevereLoggingMonitor monitorLog = TestUtil.severeLoggingStart(); + OseeLog.registerLoggerListener(monitorLog); + + DatabaseInitOpFactory.executeWithoutPrompting(DemoChoice.ATS_CLIENT_DEMO); + + TestUtil.severeLoggingEnd(monitorLog); + OseeLog.log(DbInitTest.class, Level.INFO, "Completed database initialization"); + wasDbInitSuccessful = true; + + if (wasDbInitSuccessful) { + TestUtil.setDbInitSuccessful(true); + + // Re-authenticate so we can continue and NOT be bootstrap + ClientSessionManager.releaseSession(); + ClientSessionManager.getSession(); + UserManager.releaseUser(); + + if (UserManager.getUser().getUserId().equals("bootstrap")) { + throw new OseeStateException("Should not be bootstrap user here"); + } + } + + System.out.println("End database initialization...\n"); + } +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/DemoTestUtil.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/DemoTestUtil.java new file mode 100644 index 00000000000..76144774c4c --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/DemoTestUtil.java @@ -0,0 +1,235 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.util; + +import static org.eclipse.osee.framework.core.enums.DeletionFlag.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.logging.Level; +import org.eclipse.osee.ats.api.ai.IAtsActionableItem; +import org.eclipse.osee.ats.api.data.AtsArtifactTypes; +import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; +import org.eclipse.osee.ats.client.demo.DemoActionableItems; +import org.eclipse.osee.ats.client.demo.DemoArtifactTypes; +import org.eclipse.osee.ats.client.demo.DemoSawBuilds; +import org.eclipse.osee.ats.client.demo.DemoTeam; +import org.eclipse.osee.ats.client.demo.DemoWorkType; +import org.eclipse.osee.ats.core.client.action.ActionManager; +import org.eclipse.osee.ats.core.client.task.TaskArtifact; +import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.core.client.util.AtsUsersClient; +import org.eclipse.osee.ats.core.client.workflow.ChangeType; +import org.eclipse.osee.ats.core.config.ActionableItems; +import org.eclipse.osee.ats.core.config.AtsConfigCache; +import org.eclipse.osee.ats.core.config.TeamDefinitions; +import org.eclipse.osee.ats.util.AtsUtil; +import org.eclipse.osee.framework.core.client.ClientSessionManager; +import org.eclipse.osee.framework.core.data.IUserToken; +import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; +import org.eclipse.osee.framework.core.exception.OseeAuthenticationException; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.util.Result; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.User; +import org.eclipse.osee.framework.skynet.core.UserManager; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; +import org.junit.Assert; + +/** + * @author Donald G. Dunne + */ +public class DemoTestUtil { + public static Map unCommittedWorkflows; + public static Map committedWorkflows; + public static TeamWorkFlowArtifact toolsTeamWorkflow; + + public static Result isDbPopulatedWithDemoData() throws Exception { + Collection robotArtifacts = + ArtifactQuery.getArtifactListFromTypeAndName(CoreArtifactTypes.SoftwareRequirement, "Robot", + DemoSawBuilds.SAW_Bld_1, QueryOptions.CONTAINS_MATCH_OPTIONS); + if (robotArtifacts.size() < 6) { + return new Result( + String.format( + "Expected at least 6 Software Requirements with name \"Robot\" but found [%s]. Database is not be populated with demo data.", + robotArtifacts.size())); + } + return Result.TrueResult; + } + + public static Collection getTaskTitles(boolean firstTaskWorkflow) { + if (firstTaskWorkflow) { + firstTaskWorkflow = false; + return Arrays.asList("Look into Graph View.", "Redesign how view shows values.", + "Discuss new design with Senior Engineer", "Develop prototype", "Show prototype to management", + "Create development plan", "Create test plan", "Make changes"); + } else { + return Arrays.asList("Document how Graph View works", "Update help contents", "Review new documentation", + "Publish documentation to website", "Remove old viewer", "Deploy release"); + } + } + + public static int getNumTasks() { + return getTaskTitles(false).size() + getTaskTitles(true).size(); + } + + public static User getDemoUser(IUserToken demoUser) throws OseeCoreException { + return UserManager.getUserByName(demoUser.getName()); + } + + /** + * Creates an action with the name title and demo code workflow + */ + public static TeamWorkFlowArtifact createSimpleAction(String title, SkynetTransaction transaction) throws OseeCoreException { + Artifact actionArt = + ActionManager.createAction(null, title, "Description", ChangeType.Improvement, "2", false, null, + ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Code.getName())), new Date(), + AtsUsersClient.getUser(), null, transaction); + + TeamWorkFlowArtifact teamArt = null; + for (TeamWorkFlowArtifact team : ActionManager.getTeams(actionArt)) { + if (team.getTeamDefinition().getName().contains("Code")) { + teamArt = team; + } + } + return teamArt; + } + + public static Set getActionableItems(DemoActionableItems demoActionableItems) { + return ActionableItems.getActionableItems(Arrays.asList(demoActionableItems.getName())); + } + + public static IAtsActionableItem getActionableItem(DemoActionableItems demoActionableItems) { + return getActionableItems(demoActionableItems).iterator().next(); + } + + public static TeamWorkFlowArtifact addTeamWorkflow(Artifact actionArt, String title, SkynetTransaction transaction) throws OseeCoreException { + Set actionableItems = getActionableItems(DemoActionableItems.SAW_Test); + Collection teamDefs = TeamDefinitions.getImpactedTeamDefs(actionableItems); + + ActionManager.createTeamWorkflow(actionArt, teamDefs.iterator().next(), actionableItems, + Arrays.asList(AtsUsersClient.getUser()), transaction, new Date(), AtsUsersClient.getUser(), null); + + TeamWorkFlowArtifact teamArt = null; + for (TeamWorkFlowArtifact team : ActionManager.getTeams(actionArt)) { + if (team.getTeamDefinition().getName().contains("Test")) { + teamArt = team; + } + } + return teamArt; + } + + /** + * Create tasks named title + + */ + public static Collection createSimpleTasks(TeamWorkFlowArtifact teamArt, String title, int numTasks, SkynetTransaction transaction) throws Exception { + List names = new ArrayList(); + for (int x = 1; x < numTasks + 1; x++) { + names.add(title + " " + x); + } + return teamArt.createTasks(names, Arrays.asList(AtsUsersClient.getUser()), new Date(), AtsUsersClient.getUser(), + transaction); + } + + public static TeamWorkFlowArtifact getToolsTeamWorkflow() throws OseeCoreException { + if (toolsTeamWorkflow == null) { + for (Artifact art : ArtifactQuery.getArtifactListFromName("Button S doesn't work on help", + AtsUtil.getAtsBranch(), EXCLUDE_DELETED)) { + if (art.isOfType(AtsArtifactTypes.TeamWorkflow)) { + toolsTeamWorkflow = (TeamWorkFlowArtifact) art; + } + } + } + return toolsTeamWorkflow; + } + + public static Artifact getUncommittedActionWorkflow(DemoWorkType demoWorkType) throws OseeCoreException { + if (unCommittedWorkflows == null) { + unCommittedWorkflows = new HashMap(); + for (Artifact art : ArtifactQuery.getArtifactListFromName( + "SAW (uncommitted) More Reqt Changes for Diagram View", AtsUtil.getAtsBranch(), EXCLUDE_DELETED)) { + if (art.isOfType(DemoArtifactTypes.DemoCodeTeamWorkflow)) { + unCommittedWorkflows.put(DemoWorkType.Code, art); + } else if (art.isOfType(DemoArtifactTypes.DemoTestTeamWorkflow)) { + unCommittedWorkflows.put(DemoWorkType.Test, art); + } else if (art.isOfType(DemoArtifactTypes.DemoReqTeamWorkflow)) { + unCommittedWorkflows.put(DemoWorkType.Requirements, art); + } else if (art.isOfType(AtsArtifactTypes.TeamWorkflow)) { + unCommittedWorkflows.put(DemoWorkType.SW_Design, art); + } + } + } + return unCommittedWorkflows.get(demoWorkType); + } + + public static Artifact getCommittedActionWorkflow(DemoWorkType demoWorkType) throws OseeCoreException { + if (committedWorkflows == null) { + committedWorkflows = new HashMap(); + for (Artifact art : ArtifactQuery.getArtifactListFromName("SAW (committed) Reqt Changes for Diagram View", + AtsUtil.getAtsBranch(), EXCLUDE_DELETED)) { + if (art.isOfType(DemoArtifactTypes.DemoCodeTeamWorkflow)) { + committedWorkflows.put(DemoWorkType.Code, art); + } else if (art.isOfType(DemoArtifactTypes.DemoTestTeamWorkflow)) { + committedWorkflows.put(DemoWorkType.Test, art); + } else if (art.isOfType(DemoArtifactTypes.DemoReqTeamWorkflow)) { + committedWorkflows.put(DemoWorkType.Requirements, art); + } else if (art.isOfType(AtsArtifactTypes.TeamWorkflow)) { + committedWorkflows.put(DemoWorkType.SW_Design, art); + } + } + } + return committedWorkflows.get(demoWorkType); + } + + public static void setUpTest() throws Exception { + try { + // This test should only be run on test db + Assert.assertFalse(AtsUtil.isProductionDb()); + // Confirm test setup with demo data + Result result = isDbPopulatedWithDemoData(); + Assert.assertTrue(result.getText(), result.isTrue()); + // Confirm user is Joe Smith + Assert.assertTrue("User \"Joe Smith\" does not exist in DB. Run Demo DBInit prior to this test.", + UserManager.getUserByUserId("Joe Smith") != null); + // Confirm user is Joe Smith + Assert.assertTrue( + "Authenticated user should be \"Joe Smith\" and is not. Check that Demo Application Server is being run.", + AtsUsersClient.getUser().getUserId().equals("Joe Smith")); + } catch (OseeAuthenticationException ex) { + OseeLog.log(DemoTestUtil.class, Level.SEVERE, ex); + Assert.fail("Can't authenticate, either Demo Application Server is not running or Demo DbInit has not been performed"); + } + + } + + public static IAtsTeamDefinition getTeamDef(DemoTeam team) throws OseeCoreException { + // Add check to keep exception from occurring for OSEE developers running against production + if (ClientSessionManager.isProductionDataStore()) { + return null; + } + try { + String name = team.name().replaceAll("_", " "); + return AtsConfigCache.instance.getSoleByName(name, IAtsTeamDefinition.class); + } catch (Exception ex) { + OseeLog.log(DemoTestUtil.class, Level.SEVERE, ex); + } + return null; + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/NavigateTestUtil.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/NavigateTestUtil.java new file mode 100644 index 00000000000..4f5b2678ca2 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/NavigateTestUtil.java @@ -0,0 +1,150 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.util; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.logging.Level; +import org.eclipse.osee.ats.navigate.AtsNavigateViewItems; +import org.eclipse.osee.framework.core.data.IArtifactType; +import org.eclipse.osee.framework.jdk.core.type.HashCollection; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; +import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; +import org.eclipse.swt.widgets.TreeItem; +import org.junit.Assert; + +/** + * @author Donald G. Dunne + */ +public final class NavigateTestUtil { + + private static final HashCollection nameToNavItem = + new HashCollection(true, ArrayList.class, 100); + + private static boolean ensurePopulatedRanOnce = false; + + public static final String[] expectedErrorCols1 = { + "ats.column.type", + "ats.column.team", + "ats.column.initWf", + "ats.column.origWf"}; + + public static final String[] expectedErrorCols2 = { + "ats.column.state", + "ats.column.assignees", + "ats.column.versionTarget", + "ats.column.annualCostAvoidance", + "ats.column.remainingHours", + "ats.column.statePercentComplete", + "ats.column.stateTaskPercentComplete", + "ats.column.stateReviewPercentComplete", + "ats.column.totalPercentComplete", + "ats.column.stateHoursSpent", + "ats.column.stateTaskHoursSpent", + "ats.column.stateReviewHoursSpent", + "ats.column.stateTotalHoursSpent", + "ats.column.totalHoursSpent", + "ats.column.implementer", + "ats.column.completedDate", + "ats.column.cancelledDate", + "ats.column.manDaysNeeded"}; + + private NavigateTestUtil() { + // Test Utility + } + + public static XNavigateItem getAtsNavigateItem(String itemName) { + ensurePopulated(); + Collection navigateItems = nameToNavItem.getValues(itemName); + Assert.assertNotNull("No items of name [" + itemName + "] found", navigateItems); + Assert.assertFalse("0 items found of name [" + itemName + "]", navigateItems.isEmpty()); + Assert.assertTrue("Multiple items of name [" + itemName + "] found; use getAtsNavigateItems", + navigateItems.size() == 1); + return navigateItems.iterator().next(); + } + + public static Collection getAtsNavigateItems(String itemName) { + ensurePopulated(); + return nameToNavItem.getValues(itemName); + } + + private static synchronized void ensurePopulated() { + if (!ensurePopulatedRanOnce) { + ensurePopulatedRanOnce = true; + for (XNavigateItem item : AtsNavigateViewItems.getInstance().getSearchNavigateItems()) { + addToMap(item); + } + } + } + + private static void addToMap(XNavigateItem item) { + nameToNavItem.put(item.getName(), item); + for (XNavigateItem child : item.getChildren()) { + addToMap(child); + } + } + + public static void testExpectedVersusActual(String name, Collection arts, IArtifactType artType, int expectedNumOfType) { + int actualNumOfType = numOfType(arts, artType); + String expectedStr = + String.format("\"%s\" Expected: %s Found: %s Of Type: %s", name, expectedNumOfType, actualNumOfType, + artType); + compare(expectedNumOfType, actualNumOfType, expectedStr); + } + + public static void testExpectedVersusActual(String testStr, int expected, int actual) { + String expectedStr = String.format("%sExpected: %s Found: %s", testStr, expected, actual); + compare(expected, actual, expectedStr); + } + + public static void testExpectedVersusActual(String testStr, boolean expectedCond, boolean actualCond) { + String expectedStr = String.format("%sExpected: %s Found: %s", testStr, expectedCond, actualCond); + compare(expectedCond, actualCond, expectedStr); + } + + public static void compare(int expectedNumOfType, int actualNumOfType, String expectedStr) { + if (expectedNumOfType != actualNumOfType) { + OseeLog.log(NavigateTestUtil.class, Level.SEVERE, expectedStr, null); + } + Assert.assertTrue(expectedStr, actualNumOfType == expectedNumOfType); + } + + public static void compare(boolean expectedCond, boolean actualCond, String expectedStr) { + if (expectedCond != actualCond) { + OseeLog.log(NavigateTestUtil.class, Level.SEVERE, expectedStr, null); + } + Assert.assertTrue(expectedStr, expectedCond == actualCond); + } + + public static int numOfType(Collection arts, IArtifactType artType) { + int num = 0; + for (Artifact art : arts) { + if (art.isOfType(artType)) { + num++; + } + } + return num; + } + + public static void getAllArtifactChildren(TreeItem items[], Collection children) { + for (TreeItem item : items) { + if (item.getData() instanceof Artifact) { + //if (!children.contains(item.getData())) children.add((Artifact) item.getData()); + children.add((Artifact) item.getData()); + if (item.getExpanded()) { + getAllArtifactChildren(item.getItems(), children); + } + } + } + } + +} diff --git a/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/WorldEditorUtil.java b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/WorldEditorUtil.java new file mode 100644 index 00000000000..90bff5c2cb7 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.client.integration.tests/src/org/eclipse/osee/ats/client/integration/tests/util/WorldEditorUtil.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.client.integration.tests.util; + +import static org.junit.Assert.assertTrue; +import java.util.Collection; +import org.eclipse.osee.ats.world.WorldEditor; + +/** + * @author Donald G. Dunne + */ +public class WorldEditorUtil { + + public static WorldEditor getSingleEditorOrFail() { + // Retrieve results from opened editor and test + Collection editors = WorldEditor.getEditors(); + assertTrue("Expecting 1 editor open, currently " + editors.size(), editors.size() == 1); + return editors.iterator().next(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.core.client.test/META-INF/MANIFEST.MF index 8d2db26e419..ddca80cdc05 100644 --- a/plugins/org.eclipse.osee.ats.core.client.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.ats.core.client.test/META-INF/MANIFEST.MF @@ -6,7 +6,10 @@ Bundle-Version: 0.11.0.qualifier Bundle-Vendor: Eclipse Open System Engineering Environment Fragment-Host: org.eclipse.osee.ats.core.client Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Require-Bundle: org.junit;bundle-version="4.8.1" +Require-Bundle: org.junit, + org.mockito;bundle-version="1.9.0", + org.hamcrest.core, + org.objenesis Export-Package: org.eclipse.osee.ats.core.client, org.eclipse.osee.ats.core.client.validator Import-Package: org.eclipse.osee.ats.core.validator, diff --git a/plugins/org.eclipse.osee.ats.core.client.test/pom.xml b/plugins/org.eclipse.osee.ats.core.client.test/pom.xml new file mode 100644 index 00000000000..b703ca96228 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.core.client.test/pom.xml @@ -0,0 +1,31 @@ + + + 4.0.0 + + + org.eclipse.osee + org.eclipse.osee.ats.parent + 0.11.0-SNAPSHOT + ../../plugins/org.eclipse.osee.ats.parent + + + org.eclipse.osee.ats.core.client.test + eclipse-test-plugin + OSEE ATS Core Client Test (Incubation) + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + org.eclipse.osee.ats.core.client.test + org.eclipse.osee.ats.core.client.AllAtsCoreClientTestSuite + + + + + + \ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AllAtsCoreClientTestSuite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AllAtsCoreClientTestSuite.java new file mode 100644 index 00000000000..538fef76972 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AllAtsCoreClientTestSuite.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.core.client; + +import org.eclipse.osee.ats.core.client.review.ReviewTestSuite; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ReviewTestSuite.class}) +/** + * This test suite contains tests that can be run as stand-alone JUnit tests (JT) + * + * @author Donald G. Dunne + */ +public class AllAtsCoreClientTestSuite { + // Test Suite +} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_JT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_JT_Suite.java deleted file mode 100644 index dea480b3f46..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_JT_Suite.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client; - -import org.eclipse.osee.ats.core.client.review.AtsCoreClient_Review_JT_Suite; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({AtsCoreClient_Review_JT_Suite.class}) -/** - * This test suite contains tests that can be run as stand-alone JUnit tests (JT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_JT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_PT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_PT_Suite.java deleted file mode 100644 index 812dbe374d3..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_PT_Suite.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client; - -import org.eclipse.osee.ats.core.client.notify.AtsCoreClient_Notify_PT_Suite; -import org.eclipse.osee.ats.core.client.operation.AtsCoreClient_Operation_PT_Suite; -import org.eclipse.osee.ats.core.client.review.AtsCoreClient_Review_PT_Suite; -import org.eclipse.osee.ats.core.client.task.AtsCoreClient_Task_PT_Suite; -import org.eclipse.osee.ats.core.client.util.AtsCoreClient_Util_PT_Suite; -import org.eclipse.osee.ats.core.client.workflow.AtsCoreClient_Workflow_PT_Suite; -import org.eclipse.osee.ats.core.client.workflow.transition.AtsCoreClient_Transition_PT_Suite; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - AtsCoreClient_Transition_PT_Suite.class, - AtsTestUtilTest.class, - AtsCoreClient_Util_PT_Suite.class, - AtsCoreClient_Workflow_PT_Suite.class, - AtsCoreClient_Notify_PT_Suite.class, - AtsCoreClient_Operation_PT_Suite.class, - AtsCoreClient_Review_PT_Suite.class, - AtsCoreClient_Task_PT_Suite.class,}) -/** - * This test suite contains tests that must be run as PDE Junit (PT) through test launch config - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_PT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_PT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_PT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_Production_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_Production_Suite.java deleted file mode 100644 index df5f488a614..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsCoreClient_Production_Suite.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client; - -import org.eclipse.osee.ats.core.client.config.AtsCoreClient_Config_Production_PT_Suite; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({AtsCoreClient_Config_Production_PT_Suite.class}) -/** - * This test suite contains tests that must be run as PDE Junit (PT) through test launch config - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Production_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Production_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Production_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsTestUtil.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsTestUtil.java deleted file mode 100644 index 42745d4ef4e..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsTestUtil.java +++ /dev/null @@ -1,754 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client; - -import static org.eclipse.osee.framework.core.enums.DeletionFlag.EXCLUDE_DELETED; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.Set; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.api.version.IAtsVersion; -import org.eclipse.osee.ats.api.workdef.IAtsDecisionReviewOption; -import org.eclipse.osee.ats.api.workdef.IAtsWidgetDefinition; -import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition; -import org.eclipse.osee.ats.api.workdef.IStateToken; -import org.eclipse.osee.ats.api.workdef.ReviewBlockType; -import org.eclipse.osee.ats.api.workdef.StateType; -import org.eclipse.osee.ats.core.client.action.ActionArtifact; -import org.eclipse.osee.ats.core.client.action.ActionManager; -import org.eclipse.osee.ats.core.client.actions.ISelectedAtsArtifacts; -import org.eclipse.osee.ats.core.client.branch.AtsBranchManagerCore; -import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; -import org.eclipse.osee.ats.core.client.review.AbstractReviewArtifact; -import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; -import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; -import org.eclipse.osee.ats.core.client.review.DecisionReviewState; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; -import org.eclipse.osee.ats.core.client.review.ReviewManager; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.core.client.workdef.WorkDefinitionFactory; -import org.eclipse.osee.ats.core.client.workflow.ChangeType; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; -import org.eclipse.osee.ats.core.config.AtsConfigCache; -import org.eclipse.osee.ats.core.config.AtsVersionService; -import org.eclipse.osee.ats.core.workdef.SimpleDecisionReviewOption; -import org.eclipse.osee.ats.core.workflow.StateTypeAdapter; -import org.eclipse.osee.ats.mocks.MockStateDefinition; -import org.eclipse.osee.ats.mocks.MockWidgetDefinition; -import org.eclipse.osee.ats.mocks.MockWorkDefinition; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.exception.OseeStateException; -import org.eclipse.osee.framework.core.operation.Operations; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.jdk.core.util.GUID; -import org.eclipse.osee.framework.jdk.core.util.HumanReadableId; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache; -import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; -import org.eclipse.osee.framework.skynet.core.artifact.PurgeArtifacts; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.framework.skynet.core.utility.Artifacts; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.eclipse.osee.support.test.util.TestUtil; - -/** - * Test utility that will create a new work definition, team definition, versions and allow tests to easily - * create/cleanup team workflows, tasks and reviews. - * - * @author Donald G. Dunne - */ -public class AtsTestUtil { - - private static TeamWorkFlowArtifact teamArt = null, teamArt2 = null, teamArt3 = null, teamArt4 = null; - private static IAtsTeamDefinition teamDef = null; - private static IAtsVersion verArt1 = null, verArt2 = null, verArt3 = null, verArt4 = null; - private static DecisionReviewArtifact decRevArt = null; - private static PeerToPeerReviewArtifact peerRevArt = null; - private static TaskArtifact taskArtWf1 = null, taskArtWf2 = null; - private static IAtsActionableItem testAi = null, testAi2 = null, testAi3 = null, testAi4 = null; - private static ActionArtifact actionArt = null, actionArt2 = null, actionArt3 = null, actionArt4 = null; - private static MockStateDefinition analyze, implement, completed, cancelled = null; - private static MockWorkDefinition workDef = null; - public static String WORK_DEF_NAME = "Test_Team _Workflow_Definition"; - private static MockWidgetDefinition estHoursWidgetDef, workPackageWidgetDef; - private static String postFixName; - - public static void validateArtifactCache() throws OseeStateException { - final Collection dirtyArtifacts = ArtifactCache.getDirtyArtifacts(); - if (!dirtyArtifacts.isEmpty()) { - for (Artifact artifact : dirtyArtifacts) { - System.err.println(String.format("Artifact [%s] is dirty [%s]", artifact.toStringWithId(), - Artifacts.getDirtyReport(artifact))); - } - throw new OseeStateException("[%d] Dirty Artifacts found after populate (see console for details)", - dirtyArtifacts.size()); - } - } - - public static void validateObjectsNull() throws OseeStateException { - validateObjectsNull("teamArt", teamArt); - validateObjectsNull("teamArt2", teamArt2); - validateObjectsNull("teamArt3", teamArt3); - validateObjectsNull("teamArt4", teamArt4); - validateObjectsNull("teamDef", teamDef); - validateObjectsNull("verArt1", verArt1); - validateObjectsNull("verArt2", verArt2); - validateObjectsNull("verArt3", verArt3); - validateObjectsNull("verArt4", verArt4); - validateObjectsNull("decRevArt", decRevArt); - validateObjectsNull("peerRevArt", peerRevArt); - validateObjectsNull("taskArt1", taskArtWf1); - validateObjectsNull("taskArt2", taskArtWf2); - validateObjectsNull("testAi", testAi); - validateObjectsNull("testAi2", testAi2); - validateObjectsNull("testAi3", testAi3); - validateObjectsNull("testAi4", testAi4); - validateObjectsNull("actionArt", actionArt); - validateObjectsNull("actionArt2", actionArt2); - validateObjectsNull("actionArt3", actionArt3); - validateObjectsNull("actionArt4", actionArt4); - validateObjectsNull("analyze", analyze); - validateObjectsNull("implement", implement); - validateObjectsNull("completed", completed); - validateObjectsNull("cancelled", cancelled); - validateObjectsNull("workDef", workDef); - validateObjectsNull("estHoursWidgetDef", estHoursWidgetDef); - validateObjectsNull("workPackageWidgetDef", workPackageWidgetDef); - } - - private static void validateObjectsNull(String name, Object obj) throws OseeStateException { - if (obj != null) { - throw new OseeStateException("[%s] objects should be null but is not", name); - } - } - - public static IAtsWorkDefinition getWorkDef() throws OseeCoreException { - ensureLoaded(); - return workDef; - } - - public static MockStateDefinition getAnalyzeStateDef() throws OseeCoreException { - ensureLoaded(); - return analyze; - } - - public static IAtsWidgetDefinition getEstHoursWidgetDef() throws OseeCoreException { - ensureLoaded(); - return estHoursWidgetDef; - } - - public static IAtsWidgetDefinition getWorkPackageWidgetDef() throws OseeCoreException { - ensureLoaded(); - return workPackageWidgetDef; - } - - public static MockStateDefinition getImplementStateDef() throws OseeCoreException { - ensureLoaded(); - return implement; - } - - public static MockStateDefinition getCompletedStateDef() throws OseeCoreException { - ensureLoaded(); - return completed; - } - - public static MockStateDefinition getCancelledStateDef() throws OseeCoreException { - ensureLoaded(); - return cancelled; - } - - private static void ensureLoaded() throws OseeCoreException { - if (workDef == null) { - throw new OseeStateException("Must call cleanAndReset before using this method"); - } - } - - private static void clearCaches() { - if (workDef != null) { - WorkDefinitionFactory.removeWorkDefinition(workDef); - } - analyze = null; - implement = null; - completed = null; - cancelled = null; - workDef = null; - estHoursWidgetDef = null; - workPackageWidgetDef = null; - teamArt = null; - teamArt2 = null; - teamArt3 = null; - teamArt4 = null; - teamDef = null; - taskArtWf1 = null; - taskArtWf2 = null; - testAi = null; - testAi2 = null; - testAi3 = null; - testAi4 = null; - actionArt = null; - actionArt2 = null; - actionArt3 = null; - actionArt4 = null; - verArt1 = null; - verArt2 = null; - verArt3 = null; - verArt4 = null; - decRevArt = null; - peerRevArt = null; - for (IAtsActionableItem aia : AtsConfigCache.instance.get(IAtsActionableItem.class)) { - if (aia.getName().contains("AtsTestUtil")) { - AtsConfigCache.instance.decache(aia); - } - } - for (IAtsTeamDefinition aia : AtsConfigCache.instance.get(IAtsTeamDefinition.class)) { - if (aia.getName().contains("AtsTestUtil")) { - AtsConfigCache.instance.decache(aia); - } - } - for (IAtsVersion ver : AtsConfigCache.instance.get(IAtsVersion.class)) { - if (ver.getName().contains("AtsTestUtil")) { - AtsConfigCache.instance.decache(ver); - } - } - } - - private static String getTitle(String objectName, String postFixName) { - return String.format("%s - %s [%s]", AtsTestUtil.class.getSimpleName(), objectName, postFixName); - } - - /** - * Clear workDef from cache, clear all objects and create new objects with postFixName in titles - */ - private static void reset(String postFixName) throws OseeCoreException { - AtsBulkLoad.reloadConfig(true); - AtsTestUtil.postFixName = postFixName; - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), AtsTestUtil.class.getSimpleName()); - workDef = new MockWorkDefinition(WORK_DEF_NAME); - - analyze = new MockStateDefinition("Analyze"); - analyze.setWorkDefinition(workDef); - analyze.setStateType(StateType.Working); - analyze.setOrdinal(1); - workDef.addState(analyze); - - workDef.setStartState(analyze); - - implement = new MockStateDefinition("Implement"); - implement.setWorkDefinition(workDef); - implement.setStateType(StateType.Working); - implement.setOrdinal(2); - workDef.addState(implement); - - completed = new MockStateDefinition("Completed"); - completed.setWorkDefinition(workDef); - completed.setStateType(StateType.Completed); - completed.setOrdinal(3); - workDef.addState(completed); - - cancelled = new MockStateDefinition("Cancelled"); - cancelled.setWorkDefinition(workDef); - cancelled.setStateType(StateType.Cancelled); - cancelled.setOrdinal(4); - workDef.addState(cancelled); - - analyze.setDefaultToState(implement); - analyze.getToStates().addAll(Arrays.asList(implement, completed, cancelled)); - analyze.getOverrideAttributeValidationStates().addAll(Arrays.asList(cancelled)); - - implement.setDefaultToState(completed); - implement.getToStates().addAll(Arrays.asList(analyze, completed, cancelled)); - implement.getOverrideAttributeValidationStates().addAll(Arrays.asList(cancelled, analyze)); - - completed.setDefaultToState(completed); - completed.getToStates().addAll(Arrays.asList(implement)); - completed.getOverrideAttributeValidationStates().addAll(Arrays.asList(implement)); - - cancelled.getToStates().addAll(Arrays.asList(analyze, implement)); - cancelled.getOverrideAttributeValidationStates().addAll(Arrays.asList(analyze, implement)); - - estHoursWidgetDef = new MockWidgetDefinition(AtsAttributeTypes.EstimatedHours.getUnqualifiedName()); - estHoursWidgetDef.setAttributeName(AtsAttributeTypes.EstimatedHours.getName()); - estHoursWidgetDef.setXWidgetName("XFloatDam"); - - workPackageWidgetDef = new MockWidgetDefinition(AtsAttributeTypes.WorkPackage.getUnqualifiedName()); - workPackageWidgetDef.setAttributeName(AtsAttributeTypes.WorkPackage.getName()); - workPackageWidgetDef.setXWidgetName("XTextDam"); - - WorkDefinitionFactory.addWorkDefinition(workDef); - - testAi = - AtsConfigCache.instance.getActionableItemFactory().createActionableItem(GUID.create(), - getTitle("AI", postFixName)); - testAi.setActive(true); - testAi.setActionable(true); - AtsConfigCache.instance.cache(testAi); - - testAi2 = - AtsConfigCache.instance.getActionableItemFactory().createActionableItem(GUID.create(), - getTitle("AI2", postFixName)); - testAi2.setActive(true); - testAi2.setActionable(true); - AtsConfigCache.instance.cache(testAi2); - - testAi3 = - AtsConfigCache.instance.getActionableItemFactory().createActionableItem(GUID.create(), - getTitle("AI3", postFixName)); - testAi3.setActive(true); - testAi3.setActionable(true); - AtsConfigCache.instance.cache(testAi3); - - testAi4 = - AtsConfigCache.instance.getActionableItemFactory().createActionableItem(GUID.create(), - getTitle("AI4", postFixName)); - testAi4.setActive(true); - testAi4.setActionable(true); - AtsConfigCache.instance.cache(testAi4); - - teamDef = - AtsConfigCache.instance.getTeamDefinitionFactory().createTeamDefinition(GUID.create(), - getTitle("Team Def", postFixName)); - teamDef.setWorkflowDefinition(WORK_DEF_NAME); - teamDef.setActive(true); - teamDef.setTeamUsesVersions(true); - teamDef.getLeads().add(AtsUsersClient.getUser()); - AtsConfigCache.instance.cache(teamDef); - - testAi.setTeamDefinition(teamDef); - testAi2.setTeamDefinition(teamDef); - testAi3.setTeamDefinition(teamDef); - testAi4.setTeamDefinition(teamDef); - - verArt1 = - AtsConfigCache.instance.getVersionFactory().createVersion(getTitle("ver 1.0", postFixName), GUID.create(), - HumanReadableId.generate()); - teamDef.getVersions().add(verArt1); - AtsConfigCache.instance.cache(verArt1); - - verArt2 = AtsConfigCache.instance.getVersionFactory().createVersion(getTitle("ver 2.0", postFixName)); - teamDef.getVersions().add(verArt2); - AtsConfigCache.instance.cache(verArt2); - - verArt3 = AtsConfigCache.instance.getVersionFactory().createVersion(getTitle("ver 3.0", postFixName)); - teamDef.getVersions().add(verArt3); - AtsConfigCache.instance.cache(verArt3); - - verArt4 = AtsConfigCache.instance.getVersionFactory().createVersion(getTitle("ver 4.0", postFixName)); - teamDef.getVersions().add(verArt4); - AtsConfigCache.instance.cache(verArt4); - - actionArt = - ActionManager.createAction(null, getTitle("Team WF", postFixName), "description", ChangeType.Improvement, "1", - false, null, Arrays.asList(testAi), new Date(), AtsUsersClient.getUser(), null, transaction); - - teamArt = actionArt.getFirstTeam(); - - teamArt.persist(transaction); - actionArt.persist(transaction); - transaction.execute(); - } - - public static TaskArtifact getOrCreateTaskOffTeamWf1() throws OseeCoreException { - ensureLoaded(); - if (taskArtWf1 == null) { - taskArtWf1 = teamArt.createNewTask(getTitle("Task", postFixName), new Date(), AtsUsersClient.getUser()); - taskArtWf1.setSoleAttributeValue(AtsAttributeTypes.RelatedToState, teamArt.getCurrentStateName()); - taskArtWf1.persist("AtsTestUtil - addTaskWf1"); - } - return taskArtWf1; - } - - public static TaskArtifact getOrCreateTaskOffTeamWf2() throws OseeCoreException { - ensureLoaded(); - if (taskArtWf2 == null) { - taskArtWf2 = teamArt.createNewTask(getTitle("Task", postFixName), new Date(), AtsUsersClient.getUser()); - taskArtWf2.setSoleAttributeValue(AtsAttributeTypes.RelatedToState, teamArt.getCurrentStateName()); - taskArtWf2.persist("AtsTestUtil - addTaskWf2"); - } - return taskArtWf2; - } - - public static DecisionReviewArtifact getOrCreateDecisionReview(ReviewBlockType reviewBlockType, AtsTestUtilState relatedToState) throws OseeCoreException { - ensureLoaded(); - if (decRevArt == null) { - List options = new ArrayList(); - options.add(new SimpleDecisionReviewOption(DecisionReviewState.Completed.getName(), false, null)); - options.add(new SimpleDecisionReviewOption(DecisionReviewState.Followup.getName(), true, - Arrays.asList(AtsUsersClient.getUser().getUserId()))); - decRevArt = - DecisionReviewManager.createNewDecisionReview(teamArt, reviewBlockType, - AtsTestUtil.class.getSimpleName() + " Test Decision Review", relatedToState.getName(), - "Decision Review", options, Arrays.asList(AtsUsersClient.getUser()), new Date(), - AtsUsersClient.getUser()); - } - return decRevArt; - } - - public static TeamWorkFlowArtifact getTeamWf() throws OseeCoreException { - ensureLoaded(); - return teamArt; - } - - public static IAtsActionableItem getTestAi() throws OseeCoreException { - ensureLoaded(); - return testAi; - - } - - public static IAtsTeamDefinition getTestTeamDef() throws OseeCoreException { - ensureLoaded(); - return teamDef; - } - - /** - * All team defs, AIs, action and workflows will be deleted and new ones created with "name" as part of object - * names/titles. In addition, ArtifactCache will validate that it is not dirty or display errors if it is. - * - * @throws OseeCoreException - */ - public static void cleanupAndReset(String name) throws OseeCoreException { - cleanup(); - reset(name); - } - - private static void delete(SkynetTransaction transaction, Artifact artifact) throws OseeCoreException { - if (artifact != null) { - artifact.deleteAndPersist(transaction); - } - } - - private static void deleteTeamWf(TeamWorkFlowArtifact teamWfToDelete) throws OseeCoreException { - if (teamWfToDelete != null) { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), - AtsTestUtil.class.getSimpleName() + " - cleanup deleteTeamWf"); - - if (teamWfToDelete.getWorkingBranch() != null) { - Result result = AtsBranchManagerCore.deleteWorkingBranch(teamWfToDelete, true); - if (result.isFalse()) { - throw new OseeStateException("Error deleting working branch [%s]", result.getText()); - } - } - for (TaskArtifact taskArt : teamWfToDelete.getTaskArtifacts()) { - taskArt.deleteAndPersist(transaction); - } - for (AbstractReviewArtifact revArt : ReviewManager.getReviews(teamWfToDelete)) { - revArt.deleteAndPersist(transaction); - } - - delete(transaction, teamWfToDelete); - transaction.execute(); - } - } - - /** - * Cleanup all artifacts and confirm that ArtifactCache has no dirty artifacts. Should be called at beginning at end - * of each test. - */ - public static void cleanup() throws OseeCoreException { - SkynetTransaction transaction1 = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), - AtsTestUtil.class.getSimpleName() + " - cleanup 1"); - delete(transaction1, peerRevArt); - delete(transaction1, decRevArt); - delete(transaction1, taskArtWf1); - delete(transaction1, taskArtWf2); - delete(transaction1, actionArt); - delete(transaction1, actionArt2); - delete(transaction1, actionArt3); - delete(transaction1, actionArt4); - transaction1.execute(); - - deleteTeamWf(teamArt); - deleteTeamWf(teamArt2); - deleteTeamWf(teamArt3); - deleteTeamWf(teamArt4); - - clearCaches(); - - // validate that there are no dirty artifacts in cache - AtsTestUtil.validateArtifactCache(); - } - - public static IAtsVersion getVerArt1() { - return verArt1; - } - - public static IAtsVersion getVerArt2() { - return verArt2; - } - - public static IAtsVersion getVerArt3() { - return verArt3; - } - - public static IAtsVersion getVerArt4() { - return verArt4; - } - - /** - * Deletes any artifact with name that starts with title - */ - public static void cleanupSimpleTest(String title) throws Exception { - cleanupSimpleTest(Arrays.asList(title)); - } - - /** - * Deletes all artifacts with names that start with any title given - */ - public static void cleanupSimpleTest(Collection titles) throws Exception { - List artifacts = new ArrayList(); - for (String title : titles) { - artifacts.addAll(ArtifactQuery.getArtifactListFromName(title, AtsUtilCore.getAtsBranch(), EXCLUDE_DELETED, - QueryOptions.CONTAINS_MATCH_OPTIONS)); - } - Operations.executeWorkAndCheckStatus(new PurgeArtifacts(artifacts)); - TestUtil.sleep(4000); - } - - public static Result transitionTo(AtsTestUtilState atsTestUtilState, IAtsUser user, SkynetTransaction transaction, TransitionOption... transitionOptions) { - if (atsTestUtilState == AtsTestUtilState.Analyze && teamArt.isInState(AtsTestUtilState.Analyze)) { - return Result.TrueResult; - } - - if (atsTestUtilState == AtsTestUtilState.Cancelled) { - Result result = transitionToState(teamArt, AtsTestUtilState.Cancelled, user, transaction, transitionOptions); - if (result.isFalse()) { - return result; - } - return Result.TrueResult; - } - - Result result = transitionToState(teamArt, AtsTestUtilState.Implement, user, transaction, transitionOptions); - if (result.isFalse()) { - return result; - } - - if (atsTestUtilState == AtsTestUtilState.Implement) { - return Result.TrueResult; - } - - if (atsTestUtilState == AtsTestUtilState.Completed) { - result = transitionToState(teamArt, AtsTestUtilState.Completed, user, transaction, transitionOptions); - if (result.isFalse()) { - return result; - } - - } - return Result.TrueResult; - - } - - private static Result transitionToState(TeamWorkFlowArtifact teamArt, IStateToken toState, IAtsUser user, SkynetTransaction transaction, TransitionOption... transitionOptions) { - TransitionHelper helper = - new TransitionHelper("Transition to " + toState.getName(), Arrays.asList(teamArt), toState.getName(), - Arrays.asList(user), null, transitionOptions); - TransitionManager transitionMgr = new TransitionManager(helper, transaction); - TransitionResults results = transitionMgr.handleAll(); - if (results.isEmpty()) { - return Result.TrueResult; - } - return new Result("Transition Error %s", results.toString()); - } - - public static class AtsTestUtilState extends StateTypeAdapter { - public static AtsTestUtilState Analyze = new AtsTestUtilState("Analyze", StateType.Working); - public static AtsTestUtilState Implement = new AtsTestUtilState("Implement", StateType.Working); - public static AtsTestUtilState Completed = new AtsTestUtilState("Completed", StateType.Completed); - public static AtsTestUtilState Cancelled = new AtsTestUtilState("Cancelled", StateType.Cancelled); - - private AtsTestUtilState(String pageName, StateType StateType) { - super(AtsTestUtilState.class, pageName, StateType); - } - - public static AtsTestUtilState valueOf(String pageName) { - return StateTypeAdapter.valueOfPage(AtsTestUtilState.class, pageName); - } - - public static List values() { - return StateTypeAdapter.pages(AtsTestUtilState.class); - } - } - - public static PeerToPeerReviewArtifact getOrCreatePeerReview(ReviewBlockType reviewBlockType, AtsTestUtilState relatedToState, SkynetTransaction transaction) throws OseeCoreException { - ensureLoaded(); - if (peerRevArt == null) { - peerRevArt = - PeerToPeerReviewManager.createNewPeerToPeerReview(teamArt, - AtsTestUtil.class.getSimpleName() + " Test Peer Review", relatedToState.getName(), transaction); - } - return peerRevArt; - } - - public static TeamWorkFlowArtifact getTeamWf2() throws OseeCoreException { - ensureLoaded(); - if (teamArt2 == null) { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), AtsTestUtil.class.getSimpleName()); - actionArt2 = - ActionManager.createAction(null, getTitle("Team WF2", postFixName), "description", ChangeType.Improvement, - "1", false, null, Arrays.asList(testAi2), new Date(), AtsUsersClient.getUser(), null, transaction); - - teamArt2 = actionArt2.getFirstTeam(); - transaction.execute(); - } - return teamArt2; - } - - public static IAtsActionableItem getTestAi2() throws OseeCoreException { - ensureLoaded(); - return testAi2; - } - - public static TeamWorkFlowArtifact getTeamWf3() throws OseeCoreException { - ensureLoaded(); - if (teamArt3 == null) { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), AtsTestUtil.class.getSimpleName()); - actionArt3 = - ActionManager.createAction(null, getTitle("Team WF3", postFixName), "description", ChangeType.Improvement, - "1", false, null, Arrays.asList(testAi3), new Date(), AtsUsersClient.getUser(), null, transaction); - - teamArt3 = actionArt3.getFirstTeam(); - transaction.execute(); - } - return teamArt3; - } - - public static IAtsActionableItem getTestAi3() throws OseeCoreException { - ensureLoaded(); - return testAi3; - } - - public static TeamWorkFlowArtifact getTeamWf4() throws OseeCoreException { - ensureLoaded(); - if (teamArt4 == null) { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), AtsTestUtil.class.getSimpleName()); - actionArt4 = - ActionManager.createAction(null, getTitle("Team WF4", postFixName), "description", ChangeType.Improvement, - "1", false, null, Arrays.asList(testAi4), new Date(), AtsUsersClient.getUser(), null, transaction); - - teamArt4 = actionArt4.getFirstTeam(); - AtsVersionService.get().setTargetedVersion(teamArt4, verArt4); - transaction.execute(); - } - return teamArt4; - } - - public static IAtsActionableItem getTestAi4() throws OseeCoreException { - ensureLoaded(); - return testAi4; - } - - /** - * @return 2nd Action with single Team Workflow not tied to other ActionArt or TeamWf - */ - public static ActionArtifact getActionArt2() throws OseeCoreException { - ensureLoaded(); - if (actionArt2 == null) { - getTeamWf2(); - } - return actionArt2; - } - - /** - * @return 3rd Action with single Team Workflow not tied to other ActionArt or TeamWf - */ - public static ActionArtifact getActionArt3() throws OseeCoreException { - ensureLoaded(); - if (actionArt3 == null) { - getTeamWf3(); - } - return actionArt3; - } - - /** - * @return 4rd Action with single Team Workflow not tied to other ActionArt or TeamWf - */ - public static ActionArtifact getActionArt4() throws OseeCoreException { - ensureLoaded(); - if (actionArt4 == null) { - getTeamWf4(); - } - return actionArt4; - } - - public static ActionArtifact getActionArt() throws OseeCoreException { - ensureLoaded(); - return actionArt; - } - - public static ISelectedAtsArtifacts getSelectedAtsArtifactsForTeamWf() { - return new ISelectedAtsArtifacts() { - - @Override - public Set getSelectedSMAArtifacts() throws OseeCoreException { - return Collections.singleton(getTeamWf()); - } - - @Override - public List getSelectedAtsArtifacts() throws OseeCoreException { - return Arrays.asList((Artifact) getTeamWf()); - } - - @Override - public List getSelectedTaskArtifacts() { - return Collections.emptyList(); - } - - }; - } - - public static Result createWorkingBranchFromTeamWf() throws OseeCoreException { - configureVer1ForWorkingBranch(); - Result result = AtsBranchManagerCore.createWorkingBranch_Validate(teamArt); - if (result.isFalse()) { - return result; - } - AtsBranchManagerCore.createWorkingBranch_Create(teamArt, true); - teamArt.getWorkingBranchForceCacheUpdate(); - return Result.TrueResult; - } - - public static void configureVer1ForWorkingBranch() throws OseeCoreException { - IAtsVersion verArt = getVerArt1(); - verArt.setAllowCreateBranch(true); - verArt.setAllowCommitBranch(true); - verArt.setBaselineBranchGuid(BranchManager.getBranch(DemoSawBuilds.SAW_Bld_1).getGuid()); - if (!AtsVersionService.get().hasTargetedVersion(getTeamWf())) { - AtsVersionService.get().setTargetedVersion(getTeamWf(), getVerArt1()); - getTeamWf().persist(AtsTestUtil.class.getSimpleName() + "-SetTeamWfTargetedVer1"); - } - } - - public static String getName() { - return postFixName; - } - -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsTestUtilTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsTestUtilTest.java deleted file mode 100644 index 812630cfb67..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AtsTestUtilTest.java +++ /dev/null @@ -1,190 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client; - -import junit.framework.Assert; -import org.eclipse.osee.ats.api.workdef.ReviewBlockType; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; -import org.eclipse.osee.ats.core.config.AtsVersionService; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.exception.OseeStateException; -import org.eclipse.osee.framework.core.model.Branch; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; - -/** - * Test unit for {@link AtsTestUtil} - * - * @author Donald G. Dunne - */ -public class AtsTestUtilTest extends AtsTestUtil { - - @org.junit.After - public void validateCleanup() throws OseeCoreException { - AtsTestUtil.validateObjectsNull(); - } - - @org.junit.Test - public void testCleanupAndReset() throws OseeCoreException { - boolean exceptionThrown = false; - try { - Assert.assertNull(AtsTestUtil.getWorkDef()); - } catch (OseeStateException ex) { - Assert.assertEquals(ex.getMessage(), "Must call cleanAndReset before using this method"); - exceptionThrown = true; - } - Assert.assertTrue("Exeception should have been thrown", exceptionThrown); - - AtsTestUtil.cleanupAndReset("AtsTestUtilTest"); - - AtsTestUtil.validateArtifactCache(); - - Assert.assertNotNull(AtsTestUtil.getTeamWf()); - Assert.assertNotNull(AtsTestUtil.getTeamWf().getStateDefinition()); - - AtsTestUtil.cleanup(); - - AtsTestUtil.validateArtifactCache(); - } - - @org.junit.Test - public void testCreateAndCleanupWithBranch() throws Exception { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName() + "-testCleanupAndResetWithBranch"); - Result result = AtsTestUtil.createWorkingBranchFromTeamWf(); - Assert.assertTrue(result.getText(), result.isTrue()); - Thread.sleep(2000); - Branch branch = AtsTestUtil.getTeamWf().getWorkingBranch(); - Assert.assertNotNull(branch); - AtsTestUtil.cleanup(); - Assert.assertTrue(branch.isDeleted()); - } - - @org.junit.Test - public void testGetTeamWf2() throws OseeCoreException { - - AtsTestUtil.cleanupAndReset("AtsTestUtilTest.testGetTeamWf2"); - AtsTestUtil.validateArtifactCache(); - - Assert.assertNotNull(AtsTestUtil.getTeamWf2()); - Assert.assertNotNull(AtsTestUtil.getTeamWf2().getStateDefinition()); - Assert.assertNotSame(AtsTestUtil.getTeamWf(), AtsTestUtil.getTeamWf2()); - Assert.assertNotSame(AtsTestUtil.getActionArt(), AtsTestUtil.getActionArt2()); - Assert.assertNotSame(AtsTestUtil.getTeamWf().getActionableItemsDam().getActionableItems().iterator().next(), - AtsTestUtil.getTeamWf2().getActionableItemsDam().getActionableItems().iterator().next()); - - AtsTestUtil.cleanup(); - - AtsTestUtil.validateArtifactCache(); - } - - @org.junit.Test - public void testGetTeamWf4() throws OseeCoreException { - - AtsTestUtil.cleanupAndReset("AtsTestUtilTest.testGetTeamWf2"); - AtsTestUtil.validateArtifactCache(); - - Assert.assertNotNull(AtsTestUtil.getTeamWf4()); - Assert.assertNotNull(AtsTestUtil.getTeamWf4().getStateDefinition()); - Assert.assertNotSame(AtsTestUtil.getTeamWf(), AtsTestUtil.getTeamWf4()); - Assert.assertNotSame(AtsTestUtil.getActionArt(), AtsTestUtil.getActionArt4()); - Assert.assertNotSame(AtsTestUtil.getTeamWf().getActionableItemsDam().getActionableItems().iterator().next(), - AtsTestUtil.getTeamWf4().getActionableItemsDam().getActionableItems().iterator().next()); - Assert.assertEquals(AtsVersionService.get().getTargetedVersion(AtsTestUtil.getTeamWf4()), - AtsTestUtil.getVerArt4()); - - AtsTestUtil.cleanup(); - - AtsTestUtil.validateArtifactCache(); - } - - @org.junit.Test - public void testGetDecisionReview() throws OseeCoreException { - - AtsTestUtil.cleanupAndReset("AtsTestUtilTest.testGetDecisionReview"); - AtsTestUtil.validateArtifactCache(); - - Assert.assertNotNull(AtsTestUtil.getOrCreateDecisionReview(ReviewBlockType.Commit, AtsTestUtilState.Analyze)); - - AtsTestUtil.cleanup(); - - AtsTestUtil.validateArtifactCache(); - } - - @org.junit.Test - public void testGetPeerReview() throws OseeCoreException { - - AtsTestUtil.cleanupAndReset("AtsTestUtilTest.testGetPeerReview"); - AtsTestUtil.validateArtifactCache(); - - Assert.assertNotNull(AtsTestUtil.getOrCreatePeerReview(ReviewBlockType.Commit, AtsTestUtilState.Analyze, null)); - - AtsTestUtil.cleanup(); - - AtsTestUtil.validateArtifactCache(); - } - - @org.junit.Test - public void testTransitionTo() throws OseeCoreException { - - AtsTestUtil.cleanupAndReset("AtsTestUtilTest"); - - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Analyze.getName()); - - SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), "test"); - - Result result = - AtsTestUtil.transitionTo(AtsTestUtilState.Implement, AtsUsersClient.getUser(), transaction, - TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); - Assert.assertEquals(Result.TrueResult, result); - Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Implement.getName()); - - result = - AtsTestUtil.transitionTo(AtsTestUtilState.Completed, AtsUsersClient.getUser(), transaction, - TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); - Assert.assertEquals(Result.TrueResult, result); - Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Completed.getName()); - - teamArt.reloadAttributesAndRelations(); - - transaction.execute(); - - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testTransitionToCancelled() throws OseeCoreException { - - AtsTestUtil.cleanupAndReset("AtsTestUtilTest"); - - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Analyze.getName()); - - SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), "test"); - - Result result = - AtsTestUtil.transitionTo(AtsTestUtilState.Cancelled, AtsUsersClient.getUser(), transaction, - TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); - Assert.assertEquals(Result.TrueResult, result); - Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Cancelled.getName()); - - teamArt.reloadAttributesAndRelations(); - - transaction.execute(); - - AtsTestUtil.cleanup(); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/branch/AtsBranchManagerCoreTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/branch/AtsBranchManagerCoreTest.java deleted file mode 100644 index 18fe9e9c8a1..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/branch/AtsBranchManagerCoreTest.java +++ /dev/null @@ -1,100 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.branch; - -import static org.junit.Assert.assertTrue; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.HashSet; -import org.eclipse.osee.ats.api.commit.ICommitConfigArtifact; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.api.version.IAtsVersion; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.config.AtsVersionService; -import org.eclipse.osee.framework.core.enums.TransactionDetailsType; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.model.Branch; -import org.eclipse.osee.framework.core.model.TransactionRecord; -import org.eclipse.osee.framework.core.model.cache.BranchCache; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.eclipse.osee.framework.skynet.core.UserManager; -import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test unit for {@AtsBranchManagerCore} - * - * @author Shawn F. Cook - */ -public class AtsBranchManagerCoreTest { - - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - TestUtil.setIsInTest(true); - AtsTestUtil.cleanupAndReset("AtsBranchManagerCoreTest"); - } - - @AfterClass - public static void tearDown() throws Exception { - AtsTestUtil.cleanup(); - OseeProperties.setIsInTest(false); - TestUtil.setIsInTest(false); - } - - @Test - public void testGetCommitTransactionsAndConfigItemsForTeamWf() throws OseeCoreException { - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - - //Test Version-based Team Arts - IAtsVersion verArt1 = AtsTestUtil.getVerArt1(); - IAtsVersion verArt2 = AtsTestUtil.getVerArt2(); - verArt1.getParallelVersions().add(verArt2); - AtsVersionService.get().setTargetedVersion(teamArt, verArt1); - Collection commitObjs = AtsBranchManagerCore.getCommitTransactionsAndConfigItemsForTeamWf(teamArt); - assertTrue("commitObjs has wrong size", commitObjs.size() == 2); - assertTrue("commitObjs is missing verArt1", commitObjs.contains(verArt1)); - assertTrue("commitObjs is missing verArt2", commitObjs.contains(verArt2)); - - //Test Team Def-base Team Arts - IAtsTeamDefinition teamDef = teamArt.getTeamDefinition(); - teamDef.setTeamUsesVersions(false); - teamDef.setBaselineBranchGuid(DemoSawBuilds.SAW_Bld_1.getGuid()); - commitObjs = AtsBranchManagerCore.getCommitTransactionsAndConfigItemsForTeamWf(teamArt); - assertTrue("commitObjs has wrong size", commitObjs.size() == 1); - assertTrue("commitObjs is missing teamDef", commitObjs.contains(teamDef)); - - //Test TxRecords - Branch branch = BranchManager.getBranch(DemoSawBuilds.SAW_Bld_1); - BranchCache branchCache = BranchManager.getCache(); - TransactionRecord txRecord = - new TransactionRecord(1234, branch.getId(), "comment", new Date(), UserManager.getUser().getArtId(), - UserManager.getUser().getArtId(), TransactionDetailsType.Baselined, branchCache); - Collection commitTxs = new ArrayList(); - Collection configArtSet = new HashSet(); - commitTxs.add(txRecord); - commitObjs = AtsBranchManagerCore.combineCommitTransactionsAndConfigItems(configArtSet, commitTxs); - assertTrue("commitObjs has wrong size", commitObjs.size() == 1); - - Collection configArtifactsConfiguredToCommitTo = - AtsBranchManagerCore.getConfigArtifactsConfiguredToCommitTo(teamArt); - configArtSet.add(configArtifactsConfiguredToCommitTo.iterator().next()); - commitObjs = AtsBranchManagerCore.combineCommitTransactionsAndConfigItems(configArtSet, commitTxs); - assertTrue("commitObjs has wrong size", commitObjs.size() == 1); - assertTrue("commitObjs has wrong object", commitObjs.contains(teamDef)); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsActionableItemToTeamDefinitionTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsActionableItemToTeamDefinitionTest.java deleted file mode 100644 index 9a1332a0177..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsActionableItemToTeamDefinitionTest.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.config; - -import static org.junit.Assert.assertFalse; -import java.util.Arrays; -import java.util.Collection; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.core.config.AtsConfigCache; -import org.eclipse.osee.ats.core.config.TeamDefinitions; - -/** - * @author Donald G. Dunne - */ -public class AtsActionableItemToTeamDefinitionTest { - - @org.junit.Test - public void testAtsActionableItemToTeamDefinition() throws Exception { - boolean error = false; - StringBuffer sb = new StringBuffer("Actionable Actionable Items with no Team Def associated:\n"); - AtsBulkLoad.reloadConfig(true); - for (IAtsActionableItem aia : AtsConfigCache.instance.get(IAtsActionableItem.class)) { - if (aia.isActionable()) { - Collection impactedTeamDefs = TeamDefinitions.getImpactedTeamDefs(Arrays.asList(aia)); - if (impactedTeamDefs.isEmpty()) { - System.out.println(" "); - sb.append("[" + aia + "]"); - AtsConfigCache.instance.get(IAtsTeamDefinition.class); - error = true; - } - } - } - assertFalse(sb.toString(), error); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsCoreClient_Config_Demo_PT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsCoreClient_Config_Demo_PT_Suite.java deleted file mode 100644 index 382d1898b81..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsCoreClient_Config_Demo_PT_Suite.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.config; - -import org.eclipse.osee.ats.core.client.config.store.VersionArtifactStoreTest; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({AtsActionableItemToTeamDefinitionTest.class, VersionArtifactStoreTest.class}) -/** - * This test suite contains tests that must be run against demo database as Plugin JUnit (PT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Config_Demo_PT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Config_Demo_PT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Config_Demo_PT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsCoreClient_Config_Production_PT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsCoreClient_Config_Production_PT_Suite.java deleted file mode 100644 index 16d51ca671d..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/AtsCoreClient_Config_Production_PT_Suite.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.config; - -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({AtsActionableItemToTeamDefinitionTest.class}) -/** - * This test suite contains tests that must be run against Production database as Plugin JUnit (PT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Config_Production_PT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Config_Production_PT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Config_Production_PT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/store/VersionArtifactStoreTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/store/VersionArtifactStoreTest.java deleted file mode 100644 index d4e0bed35c2..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/config/store/VersionArtifactStoreTest.java +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.config.store; - -import java.util.Arrays; -import java.util.Date; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.api.version.IAtsVersion; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.core.config.AtsConfigCache; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class VersionArtifactStoreTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws OseeCoreException { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranchToken(), - VersionArtifactStoreTest.class.getSimpleName() + " - cleanup"); - for (String name : Arrays.asList("VersionArtifactStoreTest - version 1", "VersionArtifactStoreTest - version 2", - "VersionArtifactStoreTest - version 3")) { - for (Artifact art : ArtifactQuery.getArtifactListFromTypeAndName(AtsArtifactTypes.Version, name, - AtsUtilCore.getAtsBranchToken())) { - art.deleteAndPersist(transaction); - } - } - transaction.execute(); - } - - @Test - public void testLoadFromArtifact() throws OseeCoreException { - AtsConfigCache cache = new AtsConfigCache(); - - Artifact verArt = ArtifactTypeManager.addArtifact(AtsArtifactTypes.Version, AtsUtilCore.getAtsBranchToken()); - verArt.setName("VersionArtifactStoreTest - version 1"); - verArt.persist(getClass().getSimpleName()); - - VersionArtifactStore store = new VersionArtifactStore(verArt, cache); - IAtsVersion version = store.getVersion(); - Assert.assertEquals("VersionArtifactStoreTest - version 1", version.getName()); - Assert.assertFalse(version.isAllowCommitBranch()); - Assert.assertFalse(version.isAllowCreateBranch()); - Assert.assertFalse(version.isLocked()); - Assert.assertFalse(version.isReleased()); - Assert.assertFalse(version.isNextVersion()); - Assert.assertEquals("", version.getBaslineBranchGuid()); - Assert.assertEquals("", version.getDescription()); - Assert.assertEquals("", version.getFullName()); - Assert.assertNull(version.getReleaseDate()); - - verArt.setSoleAttributeValue(AtsAttributeTypes.AllowCommitBranch, true); - verArt.setSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, true); - verArt.setSoleAttributeValue(AtsAttributeTypes.NextVersion, true); - verArt.setSoleAttributeValue(AtsAttributeTypes.Released, true); - verArt.setSoleAttributeValue(AtsAttributeTypes.VersionLocked, true); - verArt.setSoleAttributeValue(AtsAttributeTypes.BaselineBranchGuid, "guid1234"); - verArt.setSoleAttributeValue(AtsAttributeTypes.Description, "description"); - verArt.setSoleAttributeValue(AtsAttributeTypes.FullName, "this is full name"); - Date releaseDate = new Date(); - verArt.setSoleAttributeValue(AtsAttributeTypes.ReleaseDate, releaseDate); - verArt.persist(getClass().getSimpleName()); - - store = new VersionArtifactStore(verArt, cache); - version = store.getVersion(); - Assert.assertEquals("VersionArtifactStoreTest - version 1", version.getName()); - Assert.assertTrue(version.isAllowCommitBranch()); - Assert.assertTrue(version.isAllowCreateBranch()); - Assert.assertTrue(version.isLocked()); - Assert.assertTrue(version.isReleased()); - Assert.assertTrue(version.isNextVersion()); - Assert.assertEquals("guid1234", version.getBaslineBranchGuid()); - Assert.assertEquals("description", version.getDescription()); - Assert.assertEquals("this is full name", version.getFullName()); - Assert.assertEquals(releaseDate, version.getReleaseDate()); - } - - @Test - public void testSaveToArtifact() throws OseeCoreException { - AtsConfigCache cache = new AtsConfigCache(); - - Artifact verArt = ArtifactTypeManager.addArtifact(AtsArtifactTypes.Version, AtsUtilCore.getAtsBranchToken()); - verArt.setName("VersionArtifactStoreTest - version 2"); - - Artifact teamDef = - ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.TeamDefinition, "SAW SW", - AtsUtilCore.getAtsBranchToken()); - verArt.addRelation(AtsRelationTypes.TeamDefinitionToVersion_TeamDefinition, teamDef); - verArt.persist(getClass().getSimpleName()); - - VersionArtifactStore store = new VersionArtifactStore(verArt, cache); - IAtsVersion version = store.getVersion(); - - version.setAllowCommitBranch(true); - version.setAllowCreateBranch(true); - version.setName("VersionArtifactStoreTest - version 3"); - version.setNextVersion(true); - version.setLocked(true); - Date releaseDate = new Date(); - version.setReleaseDate(releaseDate); - version.setVersionLocked(true); - version.setBaselineBranchGuid("guid3456"); - version.setDescription("description"); - version.setFullName("full name"); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranchToken(), - VersionArtifactStoreTest.class.getSimpleName() + " - testSaveToArtifact"); - store.saveToArtifact(transaction); - transaction.execute(); - - store = new VersionArtifactStore(version); - Artifact saveArt = store.getArtifact(); - Assert.assertEquals("VersionArtifactStoreTest - version 3", version.getName()); - Assert.assertTrue(saveArt.getSoleAttributeValue(AtsAttributeTypes.AllowCommitBranch, true)); - Assert.assertTrue(saveArt.getSoleAttributeValue(AtsAttributeTypes.AllowCreateBranch, true)); - Assert.assertTrue(saveArt.getSoleAttributeValue(AtsAttributeTypes.VersionLocked, true)); - Assert.assertTrue(saveArt.getSoleAttributeValue(AtsAttributeTypes.Released, true)); - Assert.assertTrue(saveArt.getSoleAttributeValue(AtsAttributeTypes.NextVersion, true)); - Assert.assertEquals("guid3456", saveArt.getSoleAttributeValue(AtsAttributeTypes.BaselineBranchGuid, "")); - Assert.assertEquals("description", saveArt.getSoleAttributeValue(AtsAttributeTypes.Description, "")); - Assert.assertEquals("full name", saveArt.getSoleAttributeValue(AtsAttributeTypes.FullName, "")); - Assert.assertEquals(releaseDate, saveArt.getSoleAttributeValue(AtsAttributeTypes.ReleaseDate, null)); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsCoreClient_Notify_PT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsCoreClient_Notify_PT_Suite.java deleted file mode 100644 index 25612b978b0..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsCoreClient_Notify_PT_Suite.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.notify; - -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({AtsNotifyUsersTest.class, AtsNotificationManagerTest.class}) -/** - * This test suite contains tests that must be run against demo database as Plugin JUnit (PT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Notify_PT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Notify_PT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Notify_PT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsNotificationManagerTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsNotificationManagerTest.java deleted file mode 100644 index cf3a971e2fa..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsNotificationManagerTest.java +++ /dev/null @@ -1,594 +0,0 @@ -/* - * Created on Jul 5, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.core.client.notify; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.api.workdef.ReviewBlockType; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.AtsTestUtil.AtsTestUtilState; -import org.eclipse.osee.ats.core.client.action.ActionArtifact; -import org.eclipse.osee.ats.core.client.action.ActionManager; -import org.eclipse.osee.ats.core.client.notify.AtsNotificationManager.ConfigurationProvider; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewState; -import org.eclipse.osee.ats.core.client.review.role.Role; -import org.eclipse.osee.ats.core.client.review.role.UserRole; -import org.eclipse.osee.ats.core.client.review.role.UserRoleManager; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.core.client.workflow.ChangeType; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.skynet.core.User; -import org.eclipse.osee.framework.skynet.core.UserManager; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.framework.skynet.core.utility.INotificationManager; -import org.eclipse.osee.support.test.util.DemoUsers; -import org.junit.AfterClass; - -/** - * Test unit for (@link AtsNotificationManager} - * - * @author Donald G. Dunne - */ -public class AtsNotificationManagerTest { - - @AfterClass - public static void cleanup() throws OseeCoreException { - User user = UserManager.getUser(DemoUsers.Alex_Kay); - user.setSoleAttributeValue(CoreAttributeTypes.Email, ""); - user.deleteRelations(AtsRelationTypes.SubscribedUser_Artifact); - user.persist(AtsNotificationManagerTest.class.getSimpleName()); - - AtsNotificationManager.setInTest(true); - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testOriginatorNotification() throws OseeCoreException { - - //--------------------------------------------------- - // Test that notifications sent if originator changes - //--------------------------------------------------- - - // create a test notification manager - MockNotificationManager mgr = new MockNotificationManager(); - // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) - MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - // create new action which should reset originator cache in notification manager - AtsTestUtil.cleanupAndReset(AtsNotificationManagerTest.class.getSimpleName()); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - - // verify no notification events yet - Assert.assertEquals(0, mgr.getNotificationEvents().size()); - - // set valid email for Alex_Kay - UserManager.getUser(DemoUsers.Alex_Kay).setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); - UserManager.getUser(DemoUsers.Alex_Kay).persist(getClass().getSimpleName()); - - // reset the originator - teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), false, new Date()); - // persist will kick event which will log the notification event and send - teamArt.persist("Change originator"); - - // verify notification exists now - Assert.assertEquals(1, mgr.getNotificationEvents().size()); - Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( - "You have been set as the originator")); - - //--------------------------------------------------- - // Test that NO notifications sent if in test mode - //--------------------------------------------------- - - // reset the originator back to joe smith - teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith), false, new Date()); - // persist will kick event which will log the notification event and send - teamArt.persist("Change originator"); - AtsNotificationManager.setInTest(true); - mgr.clear(); - - // verify no notification events yet - Assert.assertEquals(0, mgr.getNotificationEvents().size()); - - // set valid email for Alex_Kay - UserManager.getUser(DemoUsers.Alex_Kay).setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); - UserManager.getUser(DemoUsers.Alex_Kay).persist(getClass().getSimpleName()); - - // reset the originator - teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), false, new Date()); - // persist will kick event which will log the notification event and send - teamArt.persist("Change originator"); - - // verify NO notification exists now - Assert.assertEquals(0, mgr.getNotificationEvents().size()); - - //--------------------------------------------------- - // Test that NO notifications sent if user email is invalid - //--------------------------------------------------- - - // reset the originator back to joe smith - teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith), false, new Date()); - // persist will kick event which will log the notification event and send - teamArt.persist("Change originator"); - AtsNotificationManager.setInTest(true); - mgr.clear(); - - // verify no notification events yet - Assert.assertEquals(0, mgr.getNotificationEvents().size()); - - // set invalid email for Alex_Kay - UserManager.getUser(DemoUsers.Alex_Kay).deleteAttributes(CoreAttributeTypes.Email); - UserManager.getUser(DemoUsers.Alex_Kay).persist(getClass().getSimpleName()); - - // reset the originator - teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), false, new Date()); - // persist will kick event which will log the notification event and send - teamArt.persist("Change originator"); - - // verify NO notification exists now - Assert.assertEquals(0, mgr.getNotificationEvents().size()); - - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testAddAssigneeNotification() throws OseeCoreException { - - // create a test notification manager - MockNotificationManager mgr = new MockNotificationManager(); - - // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) - MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - - // create new action - AtsTestUtil.cleanupAndReset(AtsNotificationManagerTest.class.getSimpleName()); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - - // verify no notification events yet - Assert.assertEquals(0, mgr.getNotificationEvents().size()); - - // set valid email for Alex_Kay - List users = new ArrayList(); - User Alex_Kay = UserManager.getUser(DemoUsers.Alex_Kay); - Alex_Kay.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); - users.add(Alex_Kay); - - User Jason_Michael = UserManager.getUser(DemoUsers.Jason_Michael); - users.add(Jason_Michael); - - User Inactive_Steve = UserManager.getUser(DemoUsers.Inactive_Steve); - Inactive_Steve.setSoleAttributeValue(CoreAttributeTypes.Email, "inactive.steve@boeing.com"); - users.add(Inactive_Steve); - - // current assignee shouldn't be emailed - UserManager.getUser().setEmail("joe.smith@boeing.com"); - users.add(UserManager.getUser()); - - teamArt.getStateMgr().addAssignees(AtsUsersClient.getAtsUsers(users)); - - // verify notification exists now only for active, valid email Alex, not for others - Assert.assertEquals(1, mgr.getNotificationEvents().size()); - Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( - "You have been set as the assignee")); - // but all 4 are now assigned - Assert.assertEquals(4, teamArt.getStateMgr().getAssignees().size()); - - for (User user : users) { - UserManager.getUser(user).reloadAttributesAndRelations(); - } - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testSetAssigneeNotification() throws OseeCoreException { - - // create a test notification manager - MockNotificationManager mgr = new MockNotificationManager(); - // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) - MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - - // create new action - AtsTestUtil.cleanupAndReset(AtsNotificationManagerTest.class.getSimpleName()); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - Assert.assertEquals("Joe should be assigned; currently = " + teamArt.getStateMgr().getAssigneesStr(), 1, - teamArt.getStateMgr().getAssignees().size()); - - // set valid email for Alex_Kay and add as assignee - User Alex_Kay = UserManager.getUser(DemoUsers.Alex_Kay); - Alex_Kay.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); - Alex_Kay.persist(getClass().getSimpleName()); - teamArt.getStateMgr().addAssignee(AtsUsersClient.getUserFromOseeUser(Alex_Kay)); - teamArt.persist(getClass().getSimpleName()); - Assert.assertEquals("Alex and Joe should be assigned; currently = " + teamArt.getStateMgr().getAssigneesStr(), 2, - teamArt.getStateMgr().getAssignees().size()); - mgr.clear(); - - // verify no notification events yet - Assert.assertEquals(0, mgr.getNotificationEvents().size()); - - List usersToSet = new ArrayList(); - User Jason_Michael = UserManager.getUser(DemoUsers.Jason_Michael); - Jason_Michael.setEmail("jason.michael@boeing.com"); - usersToSet.add(Jason_Michael); - - User Inactive_Steve = UserManager.getUser(DemoUsers.Inactive_Steve); - Inactive_Steve.setSoleAttributeValue(CoreAttributeTypes.Email, "inactive.steve@boeing.com"); - usersToSet.add(Inactive_Steve); - - // current assignee and Alex_Kay shouldn't be emailed cause they were already assigned - UserManager.getUser().setEmail("joe.smith@boeing.com"); - usersToSet.add(UserManager.getUser()); - usersToSet.add(Alex_Kay); - - teamArt.getStateMgr().setAssignees(AtsUsersClient.getAtsUsers(usersToSet)); - - // verify notification exists now only for Jason_Michael, not for others - Assert.assertEquals(1, mgr.getNotificationEvents().size()); - Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( - "You have been set as the assignee")); - // but all 4 are now assigned - Assert.assertEquals(4, teamArt.getStateMgr().getAssignees().size()); - - for (User user : usersToSet) { - UserManager.getUser(user).reloadAttributesAndRelations(); - } - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testCompletedNotification() throws OseeCoreException { - - // create a test notification manager - MockNotificationManager mgr = new MockNotificationManager(); - // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) - MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - - // create new action - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - - // set originator as Alex Kay - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), false, new Date()); - teamArt.persist(getClass().getSimpleName() + " - set originator"); - - // set alex kay having valid email address - User user = UserManager.getUser(DemoUsers.Alex_Kay); - user.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); - user.persist(getClass().getSimpleName() + "- set alex email address"); - mgr.clear(); - - // verify no notification events yet - Assert.assertEquals(0, mgr.getNotificationEvents().size()); - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - Result result = - AtsTestUtil.transitionTo(AtsTestUtilState.Completed, AtsUsersClient.getUser(), transaction, - TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); - Assert.assertEquals(Result.TrueResult, result); - Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Completed.getName()); - transaction.execute(); - - // verify notification to originator - Assert.assertEquals(1, mgr.getNotificationEvents().size()); - Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().endsWith("is [Completed]")); - - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testCancelledNotification() throws OseeCoreException { - - // create a test notification manager - MockNotificationManager mgr = new MockNotificationManager(); - // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) - MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - - // create new action - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - - // set originator as Alex Kay - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - teamArt.setCreatedBy(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), false, new Date()); - teamArt.persist(getClass().getSimpleName() + " - set originator"); - - // set alex kay having valid email address - User user = UserManager.getUser(DemoUsers.Alex_Kay); - user.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); - user.persist(getClass().getSimpleName() + "-set key email address"); - mgr.clear(); - - // verify no notification events yet - Assert.assertEquals(0, mgr.getNotificationEvents().size()); - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - Result result = - AtsTestUtil.transitionTo(AtsTestUtilState.Cancelled, AtsUsersClient.getUser(), transaction, - TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); - Assert.assertEquals(Result.TrueResult, result); - Assert.assertEquals(teamArt.getCurrentStateName(), TeamState.Cancelled.getName()); - transaction.execute(); - - // verify notification to originator - Assert.assertEquals(1, mgr.getNotificationEvents().size()); - Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( - "[Team Workflow] titled [AtsTestUtil - Team WF [AtsNotificationManagerTest]] was [Cancelled] from the [Analyze]")); - - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testSubscribedTeam() throws OseeCoreException { - - // create a test notification manager - MockNotificationManager mgr = new MockNotificationManager(); - // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) - MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - - // create new action - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - - // setup alex email and subscribe for team definition - User alex = UserManager.getUser(DemoUsers.Alex_Kay); - alex.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); - alex.persist(getClass().getSimpleName() + "- set alex email address"); - - AtsTestUtil.getTestTeamDef().getSubscribed().add(AtsUsersClient.getUserFromOseeUser(alex)); - - mgr.clear(); - - // create another action - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - ActionArtifact actionArt = - ActionManager.createAction(null, getClass().getSimpleName() + " - testSubscribedTeam", "description", - ChangeType.Improvement, "1", false, null, Arrays.asList(AtsTestUtil.getTestAi()), new Date(), - AtsUsersClient.getUser(), null, transaction); - - // verify notification to subscriber - Assert.assertEquals(1, mgr.getNotificationEvents().size()); - Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( - "You have subscribed for email notification for Team ")); - - transaction.execute(); - - SkynetTransaction transaction2 = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - - actionArt.getTeams().iterator().next().deleteAndPersist(transaction2); - actionArt.deleteAndPersist(transaction2); - - User user = UserManager.getUser(DemoUsers.Alex_Kay); - user.setSoleAttributeValue(CoreAttributeTypes.Email, ""); - user.deleteRelations(AtsRelationTypes.SubscribedUser_Artifact); - user.persist(transaction2); - - transaction2.execute(); - - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testSubscribedActionableItem() throws OseeCoreException { - - // create a test notification manager - MockNotificationManager mgr = new MockNotificationManager(); - // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) - MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - - // create new action - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - - // setup alex email and subscribe for AI - User alex = UserManager.getUser(DemoUsers.Alex_Kay); - alex.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); - alex.persist(getClass().getSimpleName() + "- set alex email address"); - - AtsTestUtil.getTestAi().getSubscribed().add(AtsUsersClient.getUserFromOseeUser(alex)); - - mgr.clear(); - - // create another action - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - ActionArtifact actionArt = - ActionManager.createAction(null, getClass().getSimpleName() + " - testSubscribedAI", "description", - ChangeType.Improvement, "1", false, null, Arrays.asList(AtsTestUtil.getTestAi()), new Date(), - AtsUsersClient.getUser(), null, transaction); - - // verify notification to subscriber - Assert.assertEquals(1, mgr.getNotificationEvents().size()); - Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().startsWith( - "You have subscribed for email notification for Actionable Item ")); - - transaction.execute(); - - SkynetTransaction transaction2 = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - - actionArt.getTeams().iterator().next().deleteAndPersist(transaction2); - actionArt.deleteAndPersist(transaction2); - - User user = UserManager.getUser(DemoUsers.Alex_Kay); - user.setSoleAttributeValue(CoreAttributeTypes.Email, ""); - user.deleteRelations(AtsRelationTypes.SubscribedUser_Artifact); - user.persist(transaction2); - - transaction2.execute(); - - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testSubscribedWorkflow() throws OseeCoreException { - - // create a test notification manager - MockNotificationManager mgr = new MockNotificationManager(); - // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) - MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - - // create new action - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - - // setup alex email and subscribe for AI - User alex = UserManager.getUser(DemoUsers.Alex_Kay); - alex.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); - alex.persist(getClass().getSimpleName() + "- set alex email address"); - - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - - teamArt.setRelations(AtsRelationTypes.SubscribedUser_User, Arrays.asList(alex)); - teamArt.persist(getClass().getSimpleName() + " - add Workflow subscription"); - - mgr.clear(); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - Result result = - AtsTestUtil.transitionTo(AtsTestUtilState.Implement, AtsUsersClient.getUser(), transaction, - TransitionOption.OverrideAssigneeCheck, TransitionOption.OverrideTransitionValidityCheck); - Assert.assertEquals(Result.TrueResult, result); - transaction.execute(); - - // verify notification to workflow subscriber - Assert.assertEquals(1, mgr.getNotificationEvents().size()); - Assert.assertEquals( - "[Team Workflow] titled [AtsTestUtil - Team WF [AtsNotificationManagerTest]] transitioned to [Implement] and you subscribed for notification.", - mgr.getNotificationEvents().iterator().next().getDescription()); - - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testReviewersCompleted() throws OseeCoreException { - - // create a test notification manager - MockNotificationManager mgr = new MockNotificationManager(); - - // restart notification manager with this one and set to NotInTest (cause normally, testing has notification system OFF) - MockConfigurationProvider configProvider = new MockConfigurationProvider(mgr, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - - // create new action - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - - // setup alex email and subscribe for AI - User alex = UserManager.getUser(DemoUsers.Alex_Kay); - alex.setSoleAttributeValue(CoreAttributeTypes.Email, "alex.kay@boeing.com"); - alex.persist(getClass().getSimpleName() + "- set alex email address"); - - User kay = UserManager.getUser(DemoUsers.Kay_Jones); - kay.setSoleAttributeValue(CoreAttributeTypes.Email, "kay.jones@boeing.com"); - kay.persist(getClass().getSimpleName() + "- set kay email address"); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - PeerToPeerReviewArtifact peerArt = - AtsTestUtil.getOrCreatePeerReview(ReviewBlockType.None, AtsTestUtilState.Analyze, transaction); - List roles = new ArrayList(); - UserRole author = new UserRole(Role.Author, AtsUsersClient.getUserFromOseeUser(alex)); - roles.add(author); - UserRole moderator = new UserRole(Role.Moderator, AtsUsersClient.getUserFromOseeUser(kay)); - roles.add(moderator); - UserRole reviewer1 = new UserRole(Role.Reviewer, AtsUsersClient.getUser()); - roles.add(reviewer1); - UserRole reviewer2 = new UserRole(Role.Reviewer, AtsUsersClient.getUserFromToken(DemoUsers.Jason_Michael)); - roles.add(reviewer2); - - Result result = - PeerToPeerReviewManager.transitionTo(peerArt, PeerToPeerReviewState.Review, roles, null, - AtsUsersClient.getUser(), false, transaction); - Assert.assertEquals(Result.TrueResult, result); - peerArt.persist(transaction); - transaction.execute(); - mgr.clear(); - - peerArt.getCurrentStateName(); - - // complete reviewer1 role - transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), - getClass().getSimpleName() + " - update reviewer 1"); - UserRoleManager roleMgr = new UserRoleManager(peerArt); - reviewer1.setHoursSpent(1.0); - reviewer1.setCompleted(true); - roleMgr.addOrUpdateUserRole(reviewer1); - roleMgr.saveToArtifact(transaction); - transaction.execute(); - - // no notifications sent - Assert.assertEquals(0, mgr.getNotificationEvents().size()); - - // complete reviewer2 role - transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), - getClass().getSimpleName() + " - update reviewer 2"); - reviewer2.setHoursSpent(1.0); - reviewer2.setCompleted(true); - roleMgr.addOrUpdateUserRole(reviewer2); - roleMgr.saveToArtifact(transaction); - peerArt.persist(transaction); - transaction.execute(); - - // notification sent to author/moderator - Assert.assertEquals(1, mgr.getNotificationEvents().size()); - Assert.assertTrue(mgr.getNotificationEvents().iterator().next().getDescription().equals( - "You are Author/Moderator of [PeerToPeer Review] titled [AtsTestUtil Test Peer Review] which has been reviewed by all reviewers")); - // email both moderator and author - Assert.assertEquals(2, mgr.getNotificationEvents().iterator().next().getUsers().size()); - peerArt.deleteAndPersist(); - AtsTestUtil.cleanup(); - } - - private static final class MockConfigurationProvider implements ConfigurationProvider { - - private final INotificationManager notificationManager; - private final boolean isProduction; - - public MockConfigurationProvider(INotificationManager notificationManager, boolean isProduction) { - super(); - this.notificationManager = notificationManager; - this.isProduction = isProduction; - } - - @Override - public INotificationManager getNotificationManager() { - return notificationManager; - } - - @Override - public boolean isProduction() { - return isProduction; - } - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsNotifyUsersTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsNotifyUsersTest.java deleted file mode 100644 index 40a77c9e8c4..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/AtsNotifyUsersTest.java +++ /dev/null @@ -1,269 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.notify; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.action.ActionManager; -import org.eclipse.osee.ats.core.client.notify.AtsNotificationManager.ConfigurationProvider; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.core.client.util.SubscribeManager; -import org.eclipse.osee.ats.core.client.workflow.ChangeType; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; -import org.eclipse.osee.ats.core.config.ActionableItems; -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.User; -import org.eclipse.osee.framework.skynet.core.UserManager; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.framework.skynet.core.utility.INotificationManager; -import org.eclipse.osee.framework.skynet.core.utility.OseeNotificationEvent; -import org.eclipse.osee.support.test.util.DemoActionableItems; -import org.eclipse.osee.support.test.util.DemoUsers; -import org.junit.Assert; - -/** - * Test unit for {@link AtsNotifyUsers} - * - * @author Donald G. Dunne - */ -public class AtsNotifyUsersTest { - @org.junit.BeforeClass - public static void setup() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(AtsNotificationManagerTest.class.getSimpleName()); - cleanUpAction(); - } - - @org.junit.AfterClass - public static void cleanup() throws OseeCoreException { - UserManager.getUser(DemoUsers.Jason_Michael).reloadAttributesAndRelations(); - UserManager.getUser(DemoUsers.Kay_Jones).reloadAttributesAndRelations(); - UserManager.getUser(DemoUsers.Alex_Kay).reloadAttributesAndRelations(); - UserManager.getUser(DemoUsers.Joe_Smith).reloadAttributesAndRelations(); - UserManager.getUser(DemoUsers.Inactive_Steve).reloadAttributesAndRelations(); - AtsTestUtil.cleanup(); - cleanUpAction(); - - AtsTestUtil.validateArtifactCache(); - - } - - private static void cleanUpAction() throws OseeCoreException { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), AtsNotifyUsersTest.class.getSimpleName()); - for (Artifact art : ArtifactQuery.getArtifactListFromAttribute(CoreAttributeTypes.Name, - AtsNotifyUsersTest.class.getSimpleName(), AtsUtilCore.getAtsBranch(), QueryOptions.CONTAINS_MATCH_OPTIONS)) { - art.deleteAndPersist(transaction); - } - transaction.execute(); - } - - @org.junit.Test - public void testNotify() throws OseeCoreException { - User jason_ValidEmail = UserManager.getUser(DemoUsers.Jason_Michael); - jason_ValidEmail.setEmail("jason@boeing.com"); - User alex_NoValidEmail = UserManager.getUser(DemoUsers.Alex_Kay); - alex_NoValidEmail.setEmail(""); - User kay_ValidEmail = UserManager.getUser(DemoUsers.Kay_Jones); - kay_ValidEmail.setEmail("kay@boeing.com"); - User joeSmith_CurrentUser = UserManager.getUser(DemoUsers.Joe_Smith); - joeSmith_CurrentUser.setEmail("joe@boeing.com"); - User inactiveSteve = UserManager.getUser(DemoUsers.Inactive_Steve); - inactiveSteve.setEmail("inactiveSteves@boeing.com"); - - MockNotificationManager notifyManager = new MockNotificationManager(); - MockConfigurationProvider configProvider = new MockConfigurationProvider(notifyManager, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - teamArt.setName(AtsNotifyUsersTest.class.getSimpleName() + "-testNotify"); - teamArt.internalSetCreatedBy(AtsUsersClient.getUserFromOseeUser(kay_ValidEmail)); - List assignees = new ArrayList(); - assignees.addAll(Arrays.asList(inactiveSteve, alex_NoValidEmail, jason_ValidEmail, kay_ValidEmail, - joeSmith_CurrentUser)); - teamArt.getStateMgr().setAssignees(AtsUsersClient.getAtsUsers(assignees)); - teamArt.persist(transaction); - transaction.execute(); - - notifyManager.clear(); - AtsNotificationManager.notify(teamArt, AtsNotifyType.Originator); - Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); - OseeNotificationEvent event = notifyManager.getNotificationEvents().get(0); - Assert.assertEquals(AtsNotifyType.Originator.name(), event.getType()); - Assert.assertEquals(kay_ValidEmail, event.getUsers().iterator().next()); - Assert.assertEquals( - "You have been set as the originator of [Team Workflow] state [Analyze] titled [AtsNotifyUsersTest-testNotify]", - event.getDescription()); - - notifyManager.clear(); - teamArt.internalSetCreatedBy(AtsUsersClient.getUserFromOseeUser(inactiveSteve)); - teamArt.persist(getClass().getSimpleName()); - AtsNotificationManager.notify(teamArt, AtsNotifyType.Originator); - Assert.assertEquals(0, notifyManager.getNotificationEvents().size()); - teamArt.internalSetCreatedBy(AtsUsersClient.getUserFromOseeUser(kay_ValidEmail)); - teamArt.persist(getClass().getSimpleName()); - - notifyManager.clear(); - AtsNotificationManager.notify(teamArt, AtsNotifyType.Assigned); - Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); - event = notifyManager.getNotificationEvents().get(0); - Assert.assertEquals(AtsNotifyType.Assigned.name(), event.getType()); - // joe smith should be removed from list cause it's current user - // alex should be removed cause not valid email - List expected = new ArrayList(); - expected.add(jason_ValidEmail); - expected.add(kay_ValidEmail); - List users = new ArrayList(); - users.addAll(event.getUsers()); - Assert.assertTrue(org.eclipse.osee.framework.jdk.core.util.Collections.isEqual(expected, users)); - Assert.assertEquals( - "You have been set as the assignee of [Team Workflow] in state [Analyze] titled [AtsNotifyUsersTest-testNotify]", - event.getDescription()); - - notifyManager.clear(); - AtsNotificationManager.notify(teamArt, - Collections.singleton(AtsUsersClient.getUserFromOseeUser(jason_ValidEmail)), AtsNotifyType.Assigned); - Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); - event = notifyManager.getNotificationEvents().get(0); - Assert.assertEquals(AtsNotifyType.Assigned.name(), event.getType()); - // only alex should be emailed cause sent in list - Assert.assertEquals(1, event.getUsers().size()); - Assert.assertEquals(jason_ValidEmail, event.getUsers().iterator().next()); - Assert.assertEquals( - "You have been set as the assignee of [Team Workflow] in state [Analyze] titled [AtsNotifyUsersTest-testNotify]", - event.getDescription()); - - notifyManager.clear(); - SubscribeManager.toggleSubscribe(teamArt); - transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), "AtsNotifyUsersTests.toggle.subscribed"); - SubscribeManager.addSubscribed(teamArt, AtsUsersClient.getUserFromOseeUser(inactiveSteve), transaction); - transaction.execute(); - AtsNotificationManager.notify(teamArt, AtsNotifyType.Subscribed); - Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); - event = notifyManager.getNotificationEvents().get(0); - Assert.assertEquals(AtsNotifyType.Subscribed.name(), event.getType()); - Assert.assertEquals(UserManager.getUser(), event.getUsers().iterator().next()); - Assert.assertEquals( - "[Team Workflow] titled [AtsNotifyUsersTest-testNotify] transitioned to [Analyze] and you subscribed for notification.", - event.getDescription()); - SubscribeManager.toggleSubscribe(teamArt); - - notifyManager.clear(); - AtsNotificationManager.notify(teamArt, AtsNotifyType.Completed); - Assert.assertEquals(0, notifyManager.getNotificationEvents().size()); - - notifyManager.clear(); - teamArt.getStateMgr().initializeStateMachine(TeamState.Completed, null, AtsUsersClient.getUser()); - AtsNotificationManager.notify(teamArt, AtsNotifyType.Completed); - event = notifyManager.getNotificationEvents().get(0); - Assert.assertEquals(AtsNotifyType.Completed.name(), event.getType()); - Assert.assertEquals(kay_ValidEmail, event.getUsers().iterator().next()); - Assert.assertEquals("[Team Workflow] titled [AtsNotifyUsersTest-testNotify] is [Completed]", - event.getDescription()); - - notifyManager.clear(); - teamArt.internalSetCreatedBy(AtsUsersClient.getUserFromOseeUser(inactiveSteve)); - teamArt.persist(getClass().getSimpleName()); - teamArt.getStateMgr().initializeStateMachine(TeamState.Completed, null, AtsUsersClient.getUser()); - AtsNotificationManager.notify(teamArt, AtsNotifyType.Completed); - Assert.assertEquals(0, notifyManager.getNotificationEvents().size()); - teamArt.internalSetCreatedBy(AtsUsersClient.getUserFromOseeUser(kay_ValidEmail)); - teamArt.persist(getClass().getSimpleName()); - - notifyManager.clear(); - teamArt.getStateMgr().initializeStateMachine(TeamState.Analyze, null, AtsUsersClient.getUser()); - TransitionHelper helper = - new TransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), TeamState.Cancelled.getName(), null, - "this is the reason", TransitionOption.OverrideTransitionValidityCheck); - transaction = TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - TransitionManager transitionMgr = new TransitionManager(helper, transaction); - TransitionResults results = transitionMgr.handleAll(); - transaction.execute(); - Assert.assertTrue("Transition should have no errors", results.isEmpty()); - - Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); - event = notifyManager.getNotificationEvents().get(0); - Assert.assertEquals(AtsNotifyType.Cancelled.name(), event.getType()); - Assert.assertEquals(kay_ValidEmail, event.getUsers().iterator().next()); - Assert.assertTrue(event.getDescription().startsWith( - "[Team Workflow] titled [AtsNotifyUsersTest-testNotify] was [Cancelled] from the [Analyze] state on")); - Assert.assertTrue(event.getDescription().endsWith(".
Reason: [this is the reason]")); - - } - - @org.junit.Test - public void testNotifyOnNewAction() throws OseeCoreException { - - User kay_ValidEmail = UserManager.getUser(DemoUsers.Kay_Jones); - kay_ValidEmail.setEmail("kay@boeing.com"); - - MockNotificationManager notifyManager = new MockNotificationManager(); - MockConfigurationProvider configProvider = new MockConfigurationProvider(notifyManager, true); - AtsNotificationManager.setConfigurationProvider(configProvider); - AtsNotificationManager.setInTest(false); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - ActionManager.createAction(null, getClass().getSimpleName() + "-OnNewAction", "Description", - ChangeType.Improvement, "2", false, null, - ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_SW_Design.getName())), new Date(), - AtsUsersClient.getUser(), null, transaction); - transaction.execute(); - - Assert.assertEquals(1, notifyManager.getNotificationEvents().size()); - OseeNotificationEvent event = notifyManager.getNotificationEvents().get(0); - Assert.assertEquals(AtsNotifyType.Assigned.name(), event.getType()); - Assert.assertEquals(kay_ValidEmail, event.getUsers().iterator().next()); - Assert.assertEquals( - "You have been set as the assignee of [Team Workflow] in state [Endorse] titled [AtsNotifyUsersTest-OnNewAction]", - event.getDescription()); - } - - private static final class MockConfigurationProvider implements ConfigurationProvider { - - private final INotificationManager notificationManager; - private final boolean isProduction; - - public MockConfigurationProvider(INotificationManager notificationManager, boolean isProduction) { - super(); - this.notificationManager = notificationManager; - this.isProduction = isProduction; - } - - @Override - public INotificationManager getNotificationManager() { - return notificationManager; - } - - @Override - public boolean isProduction() { - return isProduction; - } - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/MockNotificationManager.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/MockNotificationManager.java deleted file mode 100644 index e4814b083e7..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/notify/MockNotificationManager.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.notify; - -import java.util.ArrayList; -import java.util.List; -import org.eclipse.osee.framework.skynet.core.utility.INotificationManager; -import org.eclipse.osee.framework.skynet.core.utility.OseeNotificationEvent; - -/** - * @author Donald G. Dunne - */ -public class MockNotificationManager implements INotificationManager { - - private final List notificationEvents = new ArrayList(); - - @Override - public void addNotificationEvent(OseeNotificationEvent notificationEvent) { - notificationEvents.add(notificationEvent); - } - - @Override - public void clear() { - notificationEvents.clear(); - } - - @Override - public List getNotificationEvents() { - return notificationEvents; - } - - @Override - public void sendNotifications() { - // do nothings - } - -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/operation/AtsCoreClient_Operation_PT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/operation/AtsCoreClient_Operation_PT_Suite.java deleted file mode 100644 index 1f7221e45bc..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/operation/AtsCoreClient_Operation_PT_Suite.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.operation; - -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({MoveTeamWorkflowsOperationTest.class}) -/** - * This test suite contains tests that must be run against demo database as Plugin JUnit (PT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Operation_PT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Operation_PT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Operation_PT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/operation/MoveTeamWorkflowsOperationTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/operation/MoveTeamWorkflowsOperationTest.java deleted file mode 100644 index 4176986b675..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/operation/MoveTeamWorkflowsOperationTest.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Created on Oct 20, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.core.client.operation; - -import java.util.Arrays; -import junit.framework.Assert; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.action.ActionArtifact; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.junit.AfterClass; -import org.junit.BeforeClass; - -/** - * @author Donald G. Dunne - */ -public class MoveTeamWorkflowsOperationTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testDoWork() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - ActionArtifact actArt = AtsTestUtil.getActionArt(); - TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); - - ActionArtifact actArt2 = AtsTestUtil.getActionArt2(); - TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); - - MoveTeamWorkflowsOperation operation = - new MoveTeamWorkflowsOperation("Move", teamWf, Arrays.asList(teamWf2), "new title"); - operation.doWork(null); - - Assert.assertEquals("Parent Actions should be same", teamWf.getParentActionArtifact(), - teamWf.getParentActionArtifact()); - Assert.assertEquals("new title", actArt.getName()); - Assert.assertTrue("Action Artifact 2 should be deleted", actArt2.isDeleted()); - Assert.assertFalse("No artifact should be dirty", - actArt.isDirty() && teamWf.isDirty() && actArt2.isDirty() && teamWf2.isDirty()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/AtsCoreClient_Review_JT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/AtsCoreClient_Review_JT_Suite.java deleted file mode 100644 index 30c990bd488..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/AtsCoreClient_Review_JT_Suite.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.review; - -import org.eclipse.osee.ats.core.client.review.defect.AtsXDefectValidatorTest; -import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItemTest; -import org.eclipse.osee.ats.core.client.review.role.AtsXUserRoleValidatorTest; -import org.eclipse.osee.ats.core.client.review.role.UserRoleTest; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - ReviewDefectItemTest.class, - AtsXDefectValidatorTest.class, - UserRoleTest.class, - AtsXUserRoleValidatorTest.class}) -/** - * This test suite contains tests that must be run against demo database as Plugin JUnit (PT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Review_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Review_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Review_JT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/AtsCoreClient_Review_PT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/AtsCoreClient_Review_PT_Suite.java deleted file mode 100644 index ae677b0d421..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/AtsCoreClient_Review_PT_Suite.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.review; - -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - DecisionReviewManagerTest.class, - DecisionReviewDefinitionManagerTest.class, - PeerToPeerReviewManagerTest.class, - PeerReviewDefinitionManagerTest.class}) -/** - * This test suite contains tests that must be run against demo database as Plugin JUnit (PT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Review_PT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Review_PT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Review_PT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/DecisionReviewDefinitionManagerTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/DecisionReviewDefinitionManagerTest.java deleted file mode 100644 index 57c3e6f0b0d..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/DecisionReviewDefinitionManagerTest.java +++ /dev/null @@ -1,141 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.review; - -import java.util.Arrays; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; -import org.eclipse.osee.ats.api.workdef.ReviewBlockType; -import org.eclipse.osee.ats.api.workdef.StateEventType; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.core.client.workflow.transition.MockTransitionHelper; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; -import org.eclipse.osee.ats.mocks.MockDecisionReviewDefinition; -import org.eclipse.osee.framework.core.enums.SystemUser; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.junit.AfterClass; -import org.junit.BeforeClass; - -/** - * Test unit for {@link DecisionReviewDefinitionManager} - * - * @author Donald G. Dunne - */ -public class DecisionReviewDefinitionManagerTest extends DecisionReviewDefinitionManager { - - @BeforeClass - @AfterClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testCreateDecisionReviewDuringTransition_ToDecision() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("DecisionReviewDefinitionManagerTest - ToDecision"); - - // configure WorkDefinition to create a new Review on transition to Implement - IAtsStateDefinition implement = AtsTestUtil.getImplementStateDef(); - - MockDecisionReviewDefinition revDef = new MockDecisionReviewDefinition("Create New on Implement"); - revDef.setAutoTransitionToDecision(true); - revDef.setBlockingType(ReviewBlockType.Transition); - revDef.setDescription("the description"); - revDef.setRelatedToState(implement.getName()); - revDef.setStateEventType(StateEventType.TransitionTo); - revDef.setReviewTitle("This is my review title"); - revDef.getOptions().addAll(DecisionReviewManager.getDefaultDecisionReviewOptions()); - revDef.getAssignees().add(SystemUser.UnAssigned.getUserId()); - - implement.getDecisionReviews().add(revDef); - - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - Assert.assertEquals("No reviews should be present", 0, ReviewManager.getReviews(teamArt).size()); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), implement.getName(), - Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper, transaction); - TransitionResults results = transMgr.handleAll(); - transaction.execute(); - - Assert.assertTrue(results.toString(), results.isEmpty()); - - Assert.assertEquals("One review should be present", 1, ReviewManager.getReviews(teamArt).size()); - DecisionReviewArtifact decArt = (DecisionReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next(); - - Assert.assertEquals(DecisionReviewState.Decision.getName(), decArt.getCurrentStateName()); - Assert.assertEquals("UnAssigned", decArt.getStateMgr().getAssigneesStr()); - Assert.assertEquals(ReviewBlockType.Transition.name(), - decArt.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks)); - Assert.assertEquals("This is my review title", decArt.getName()); - Assert.assertEquals("the description", decArt.getSoleAttributeValue(AtsAttributeTypes.Description)); - Assert.assertEquals(implement.getName(), decArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); - - AtsTestUtil.validateArtifactCache(); - } - - @org.junit.Test - public void testCreateDecisionReviewDuringTransition_Prepare() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("DecisionReviewDefinitionManagerTest - Prepare"); - - // configure WorkDefinition to create a new Review on transition to Implement - IAtsStateDefinition implement = AtsTestUtil.getImplementStateDef(); - - MockDecisionReviewDefinition revDef = new MockDecisionReviewDefinition("Create New on Implement"); - revDef.setAutoTransitionToDecision(false); - revDef.setBlockingType(ReviewBlockType.Commit); - revDef.setReviewTitle("This is the title"); - revDef.setDescription("the description"); - revDef.setRelatedToState(implement.getName()); - revDef.setStateEventType(StateEventType.TransitionTo); - revDef.getOptions().addAll(DecisionReviewManager.getDefaultDecisionReviewOptions()); - - implement.getDecisionReviews().add(revDef); - - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - Assert.assertEquals("No reviews should be present", 0, ReviewManager.getReviews(teamArt).size()); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), implement.getName(), - Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper, transaction); - TransitionResults results = transMgr.handleAll(); - transaction.execute(); - - Assert.assertTrue(results.toString(), results.isEmpty()); - - Assert.assertEquals("One review should be present", 1, ReviewManager.getReviews(teamArt).size()); - DecisionReviewArtifact decArt = (DecisionReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next(); - - Assert.assertEquals(DecisionReviewState.Prepare.getName(), decArt.getCurrentStateName()); - // Current user assigned if non specified - Assert.assertEquals("Joe Smith", decArt.getStateMgr().getAssigneesStr()); - Assert.assertEquals(ReviewBlockType.Commit.name(), decArt.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks)); - Assert.assertEquals("This is the title", decArt.getName()); - Assert.assertEquals("the description", decArt.getSoleAttributeValue(AtsAttributeTypes.Description)); - Assert.assertEquals(implement.getName(), decArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); - - AtsTestUtil.validateArtifactCache(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/DecisionReviewManagerTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/DecisionReviewManagerTest.java deleted file mode 100644 index fde536c543c..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/DecisionReviewManagerTest.java +++ /dev/null @@ -1,168 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.review; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.workdef.IAtsDecisionReviewOption; -import org.eclipse.osee.ats.api.workdef.ReviewBlockType; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.mocks.MockDecisionReviewOption; -import org.eclipse.osee.framework.core.enums.SystemUser; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.framework.skynet.core.utility.Artifacts; -import org.eclipse.osee.support.test.util.DemoUsers; -import org.junit.AfterClass; -import org.junit.BeforeClass; - -/** - * Test for {@link DecisionReviewManager} - * - * @author Donald G. Dunne - */ -public class DecisionReviewManagerTest extends DecisionReviewManager { - - @BeforeClass - @AfterClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testGetDecisionReviewOptionsStr() throws OseeCoreException { - Assert.assertEquals("Yes;Followup;\nNo;Completed;\n", - DecisionReviewManager.getDecisionReviewOptionsString(DecisionReviewManager.getDefaultDecisionReviewOptions())); - } - - @org.junit.Test - public void testCreateNewDecisionReviewAndTransitionToDecision__Normal() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("DecisionReviewManagerTest - Normal"); - TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); - - List options = new ArrayList(); - options.add(new MockDecisionReviewOption(DecisionReviewState.Completed.getName(), false, null)); - options.add(new MockDecisionReviewOption(DecisionReviewState.Followup.getName(), true, - Arrays.asList(AtsUsersClient.getUser().getUserId()))); - - // create and transition decision review - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - String reviewTitle = "Test Review - " + teamWf.getName(); - DecisionReviewArtifact decRev = - DecisionReviewManager.createNewDecisionReviewAndTransitionToDecision(teamWf, reviewTitle, "my description", - AtsTestUtil.getAnalyzeStateDef().getName(), ReviewBlockType.Transition, options, - Arrays.asList(AtsUsersClient.getUser()), new Date(), AtsUsersClient.getUser(), transaction); - transaction.execute(); - - Assert.assertNotNull(decRev); - Assert.assertFalse( - String.format("Decision Review artifact should not be dirty [%s]", Artifacts.getDirtyReport(decRev)), - decRev.isDirty()); - Assert.assertEquals(DecisionReviewState.Decision.getName(), decRev.getCurrentStateName()); - Assert.assertEquals("Joe Smith", decRev.getStateMgr().getAssigneesStr()); - - } - - @org.junit.Test - public void testCreateNewDecisionReviewAndTransitionToDecision__UnAssigned() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("DecisionReviewManagerTest - UnAssigned"); - TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); - - List options = new ArrayList(); - options.add(new MockDecisionReviewOption(DecisionReviewState.Completed.getName(), false, null)); - options.add(new MockDecisionReviewOption(DecisionReviewState.Followup.getName(), true, - Arrays.asList(AtsUsersClient.getUser().getUserId()))); - - // create and transition decision review - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - String reviewTitle = "Test Review - " + teamWf.getName(); - DecisionReviewArtifact decRev = - DecisionReviewManager.createNewDecisionReviewAndTransitionToDecision(teamWf, reviewTitle, "my description", - AtsTestUtil.getAnalyzeStateDef().getName(), ReviewBlockType.Transition, options, - Arrays.asList(AtsUsersClient.getUserFromToken(SystemUser.UnAssigned)), new Date(), - AtsUsersClient.getUser(), transaction); - transaction.execute(); - - Assert.assertNotNull(decRev); - Assert.assertEquals(reviewTitle, decRev.getName()); - Assert.assertFalse( - String.format("Decision Review artifact should not be dirty [%s]", Artifacts.getDirtyReport(decRev)), - decRev.isDirty()); - Assert.assertEquals(DecisionReviewState.Decision.getName(), decRev.getCurrentStateName()); - Assert.assertEquals("UnAssigned", decRev.getStateMgr().getAssigneesStr()); - - } - - @org.junit.Test - public void testCreateNewDecisionReview__Base() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("DecisionReviewManagerTest - Base"); - TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); - - String reviewTitle = "Test Review - " + teamWf.getName(); - DecisionReviewArtifact decRev = - DecisionReviewManager.createNewDecisionReview(teamWf, ReviewBlockType.Commit, reviewTitle, - TeamState.Implement.getName(), "description", DecisionReviewManager.getDefaultDecisionReviewOptions(), - Arrays.asList(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)), new Date(), AtsUsersClient.getUser()); - - Assert.assertNotNull(decRev); - Assert.assertEquals(reviewTitle, decRev.getName()); - Assert.assertEquals(DecisionReviewState.Prepare.getName(), decRev.getCurrentStateName()); - Assert.assertEquals("Alex Kay", decRev.getStateMgr().getAssigneesStr()); - Assert.assertEquals(TeamState.Implement.getName(), decRev.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); - Assert.assertEquals(ReviewBlockType.Commit.name(), decRev.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks)); - } - - @org.junit.Test - public void testCreateNewDecisionReview__BaseUnassigned() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("DecisionReviewManagerTest - BaseUnassigned"); - TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); - - String reviewTitle = "Test Review - " + teamWf.getName(); - DecisionReviewArtifact decRev = - DecisionReviewManager.createNewDecisionReview(teamWf, ReviewBlockType.Commit, reviewTitle, - TeamState.Implement.getName(), "description", DecisionReviewManager.getDefaultDecisionReviewOptions(), - Arrays.asList(AtsUsersClient.getUserFromToken(SystemUser.UnAssigned)), new Date(), AtsUsersClient.getUser()); - - Assert.assertNotNull(decRev); - Assert.assertEquals(reviewTitle, decRev.getName()); - Assert.assertEquals("UnAssigned", decRev.getStateMgr().getAssigneesStr()); - } - - @org.junit.Test - public void testCreateNewDecisionReview__Sample() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("DecisionReviewManagerTest - Sample"); - TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); - - DecisionReviewArtifact decRev = - DecisionReviewManager.createNewDecisionReview(teamWf, ReviewBlockType.Commit, true, new Date(), - AtsUsersClient.getUser()); - - Assert.assertNotNull(decRev); - Assert.assertEquals("Should we do this? Yes will require followup, No will not", decRev.getName()); - Assert.assertEquals(DecisionReviewState.Prepare.getName(), decRev.getCurrentStateName()); - Assert.assertEquals("Joe Smith", decRev.getStateMgr().getAssigneesStr()); - Assert.assertEquals(TeamState.Analyze.getName(), decRev.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); - Assert.assertEquals(ReviewBlockType.Commit.name(), - decRev.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks, "")); - } - -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/PeerReviewDefinitionManagerTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/PeerReviewDefinitionManagerTest.java deleted file mode 100644 index b459671cbda..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/PeerReviewDefinitionManagerTest.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.review; - -import java.util.Arrays; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; -import org.eclipse.osee.ats.api.workdef.ReviewBlockType; -import org.eclipse.osee.ats.api.workdef.StateEventType; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.core.client.workflow.transition.MockTransitionHelper; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; -import org.eclipse.osee.ats.mocks.MockPeerReviewDefinition; -import org.eclipse.osee.framework.core.enums.SystemUser; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.junit.AfterClass; -import org.junit.BeforeClass; - -/** - * Test unit for {@link PeerReviewDefinitionManager} - * - * @author Donald G. Dunne - */ -public class PeerReviewDefinitionManagerTest extends PeerReviewDefinitionManager { - - @BeforeClass - @AfterClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testCreatePeerReviewDuringTransition() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("PeerReviewDefinitionManagerTest"); - - // configure WorkDefinition to create a new Review on transition to Implement - IAtsStateDefinition implement = AtsTestUtil.getImplementStateDef(); - - MockPeerReviewDefinition revDef = new MockPeerReviewDefinition("Create New on Implement"); - revDef.setBlockingType(ReviewBlockType.Transition); - revDef.setDescription("the description"); - revDef.setRelatedToState(implement.getName()); - revDef.setStateEventType(StateEventType.TransitionTo); - revDef.setReviewTitle("This is my review title"); - revDef.getAssignees().add(SystemUser.UnAssigned.getUserId()); - - implement.getPeerReviews().add(revDef); - - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - Assert.assertEquals("No reviews should be present", 0, ReviewManager.getReviews(teamArt).size()); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), implement.getName(), - Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper, transaction); - TransitionResults results = transMgr.handleAll(); - transaction.execute(); - - Assert.assertTrue(results.toString(), results.isEmpty()); - - Assert.assertEquals("One review should be present", 1, ReviewManager.getReviews(teamArt).size()); - PeerToPeerReviewArtifact decArt = (PeerToPeerReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next(); - - Assert.assertEquals(PeerToPeerReviewState.Prepare.getName(), decArt.getCurrentStateName()); - Assert.assertEquals("UnAssigned", decArt.getStateMgr().getAssigneesStr()); - Assert.assertEquals(ReviewBlockType.Transition.name(), - decArt.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks)); - Assert.assertEquals("This is my review title", decArt.getName()); - Assert.assertEquals("the description", decArt.getSoleAttributeValue(AtsAttributeTypes.Description)); - Assert.assertEquals(implement.getName(), decArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); - - AtsTestUtil.validateArtifactCache(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/PeerToPeerReviewManagerTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/PeerToPeerReviewManagerTest.java deleted file mode 100644 index 23b52ac238a..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/PeerToPeerReviewManagerTest.java +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.review; - -import java.util.Date; -import junit.framework.Assert; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.framework.skynet.core.utility.Artifacts; -import org.junit.AfterClass; -import org.junit.BeforeClass; - -/** - * Test unit for {@link PeerToPeerReviewManager} - * - * @author Donald G. Dunne - */ -public class PeerToPeerReviewManagerTest extends PeerToPeerReviewManager { - - @BeforeClass - @AfterClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testCreateNewPeerToPeerReview__Base() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("PeerToPeerReviewManagerTest - Base"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - - // create and transition peer review - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - String reviewTitle = "Test Review - " + teamArt.getName(); - - PeerToPeerReviewArtifact peerArt = - PeerToPeerReviewManager.createNewPeerToPeerReview(teamArt, reviewTitle, - AtsTestUtil.getAnalyzeStateDef().getName(), new Date(), AtsUsersClient.getUser(), transaction); - transaction.execute(); - - Assert.assertNotNull(peerArt); - Assert.assertFalse( - String.format("PeerToPeer Review artifact should not be dirty [%s]", Artifacts.getDirtyReport(peerArt)), - peerArt.isDirty()); - Assert.assertEquals(PeerToPeerReviewState.Prepare.getName(), peerArt.getCurrentStateName()); - Assert.assertEquals("Joe Smith", peerArt.getStateMgr().getAssigneesStr()); - Assert.assertEquals("Joe Smith", peerArt.getCreatedBy().getName()); - Assert.assertEquals(AtsTestUtil.getAnalyzeStateDef().getName(), - peerArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); - - } - - @org.junit.Test - public void testCreateNewPeerToPeerReview__Simple() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("PeerToPeerReviewManagerTest - Simple"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - - // create and transition peer review - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - String reviewTitle = "Test Review - " + teamArt.getName(); - - PeerToPeerReviewArtifact peerArt = - PeerToPeerReviewManager.createNewPeerToPeerReview(teamArt, reviewTitle, - AtsTestUtil.getAnalyzeStateDef().getName(), transaction); - transaction.execute(); - - Assert.assertNotNull(peerArt); - Assert.assertFalse( - String.format("PeerToPeer Review artifact should not be dirty [%s]", Artifacts.getDirtyReport(peerArt)), - peerArt.isDirty()); - Assert.assertEquals(PeerToPeerReviewState.Prepare.getName(), peerArt.getCurrentStateName()); - Assert.assertEquals("Joe Smith", peerArt.getStateMgr().getAssigneesStr()); - Assert.assertEquals(AtsTestUtil.getAnalyzeStateDef().getName(), - peerArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState)); - - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/ReviewTestSuite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/ReviewTestSuite.java new file mode 100644 index 00000000000..d369988f3ac --- /dev/null +++ b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/ReviewTestSuite.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.core.client.review; + +import org.eclipse.osee.ats.core.client.review.defect.AtsXDefectValidatorTest; +import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItemTest; +import org.eclipse.osee.ats.core.client.review.role.AtsXUserRoleValidatorTest; +import org.eclipse.osee.ats.core.client.review.role.UserRoleTest; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + AtsXDefectValidatorTest.class, + ReviewDefectItemTest.class, + AtsXUserRoleValidatorTest.class, + UserRoleTest.class}) +/** + * This test suite contains tests that must be run against demo database as Plugin JUnit (PT) + * + * @author Donald G. Dunne + */ +public class ReviewTestSuite { + // TestSuite +} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/AtsXDefectValidatorTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/AtsXDefectValidatorTest.java index 97099388b69..f6cad7c9fc6 100644 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/AtsXDefectValidatorTest.java +++ b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/AtsXDefectValidatorTest.java @@ -20,7 +20,6 @@ import org.eclipse.osee.ats.api.workdef.WidgetStatus; import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem.Disposition; import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem.InjectionActivity; import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem.Severity; -import org.eclipse.osee.ats.core.validator.ValidatorTestUtil; import org.eclipse.osee.ats.mocks.MockStateDefinition; import org.eclipse.osee.ats.mocks.MockWidgetDefinition; import org.eclipse.osee.framework.core.exception.OseeCoreException; diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/MockValueProvider.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/MockValueProvider.java new file mode 100644 index 00000000000..9b72ed0b032 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/MockValueProvider.java @@ -0,0 +1,55 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.core.client.review.defect; + +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import org.eclipse.osee.ats.core.validator.IValueProvider; + +/** + * @author Donald G. Dunne + */ +public class MockValueProvider implements IValueProvider { + + private final Collection values; + private final String name; + + public MockValueProvider(Collection values) { + this("test", values); + } + + public MockValueProvider(String name, Collection values) { + this.name = name; + this.values = values; + } + + @Override + public String getName() { + return name; + } + + @Override + public boolean isEmpty() { + return values.isEmpty(); + } + + @Override + public Collection getValues() { + return values; + } + + @Override + public Collection getDateValues() { + return Collections.emptyList(); + } + +} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/ValidatorTestUtil.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/ValidatorTestUtil.java new file mode 100644 index 00000000000..dd78e5ba3f3 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/ValidatorTestUtil.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2011 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.core.client.review.defect; + +import java.util.ArrayList; +import org.eclipse.osee.ats.api.workdef.WidgetResult; +import org.eclipse.osee.ats.api.workdef.WidgetStatus; +import org.junit.Assert; + +/** + * @author Donald G. Dunne + */ +public class ValidatorTestUtil { + + public static MockValueProvider emptyValueProvider = new MockValueProvider(new ArrayList()); + + public static void assertValidResult(WidgetResult result) { + Assert.assertEquals(WidgetStatus.Valid, result.getStatus()); + Assert.assertNull(result.getWidgetDef()); + Assert.assertEquals(WidgetStatus.Valid.name(), result.getDetails()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/role/AtsXUserRoleValidatorTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/role/AtsXUserRoleValidatorTest.java index 8c49649eef3..f8716a6f441 100644 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/role/AtsXUserRoleValidatorTest.java +++ b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/role/AtsXUserRoleValidatorTest.java @@ -17,7 +17,7 @@ import org.eclipse.osee.ats.api.workdef.StateType; import org.eclipse.osee.ats.api.workdef.WidgetOption; import org.eclipse.osee.ats.api.workdef.WidgetResult; import org.eclipse.osee.ats.api.workdef.WidgetStatus; -import org.eclipse.osee.ats.core.validator.ValidatorTestUtil; +import org.eclipse.osee.ats.core.client.review.defect.ValidatorTestUtil; import org.eclipse.osee.ats.mocks.MockStateDefinition; import org.eclipse.osee.ats.mocks.MockWidgetDefinition; import org.eclipse.osee.framework.core.exception.OseeCoreException; diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/AtsCoreClient_Task_PT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/AtsCoreClient_Task_PT_Suite.java deleted file mode 100644 index 7729f85eed1..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/AtsCoreClient_Task_PT_Suite.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.task; - -import org.eclipse.osee.ats.core.client.task.createTasks.CreateTasksOperationTest; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({TaskManagerTest.class, CreateTasksOperationTest.class}) -/** - * This test suite contains tests that must be run against demo database as Plugin JUnit (PT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Task_PT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Task_PT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Task_PT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/TaskManagerTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/TaskManagerTest.java deleted file mode 100644 index bc6c1ccefd7..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/TaskManagerTest.java +++ /dev/null @@ -1,163 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.task; - -import java.util.Arrays; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.core.client.workdef.WorkDefinitionFactory; -import org.eclipse.osee.ats.core.client.workflow.HoursSpentUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.junit.AfterClass; -import org.junit.BeforeClass; - -/** - * Test unit for {@link TaskManager} - * - * @author Donald G. Dunne - */ -public class TaskManagerTest extends TaskManager { - - @BeforeClass - @AfterClass - public static void cleanup() throws OseeCoreException { - AtsTestUtil.cleanup(); - } - - /** - * Test can move task between teamWfs that have same Task WorkDefinition - */ - @org.junit.Test - public void testMoveTasks_sameWorkDefinitions() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("testMoveTasks - sameWorkDefs"); - TaskArtifact taskToMove = AtsTestUtil.getOrCreateTaskOffTeamWf1(); - TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); - - IAtsWorkDefinition taskWorkDef = WorkDefinitionFactory.getWorkDefinitionForTask(taskToMove).getWorkDefinition(); - IAtsWorkDefinition newTaskWorkDef = - WorkDefinitionFactory.getWorkDefinitionForTaskNotYetCreated(teamWf2).getWorkDefinition(); - Assert.assertNotNull(taskWorkDef); - - Assert.assertEquals(taskWorkDef, newTaskWorkDef); - Result result = TaskManager.moveTasks(teamWf2, Arrays.asList(taskToMove)); - - Assert.assertTrue("This failed: " + result.getText(), result.isTrue()); - } - - /** - * Test can't move task between teamWfs with differing Task WorkDefinitions - */ - @org.junit.Test - public void testMoveTasks_differentWorkDefinitions() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("testMoveTasks - diffWorkDefs"); - TaskArtifact taskToMove = AtsTestUtil.getOrCreateTaskOffTeamWf1(); - TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); - IAtsWorkDefinition taskWorkDef = WorkDefinitionFactory.getWorkDefinitionForTask(taskToMove).getWorkDefinition(); - - // create new task work def - XResultData resultData = new XResultData(); - IAtsWorkDefinition differentTaskWorkDef = - WorkDefinitionFactory.copyWorkDefinition(taskWorkDef.getName() + "2", taskWorkDef, resultData); - Assert.assertFalse("Should be no errors", resultData.isErrors()); - WorkDefinitionFactory.addWorkDefinition(differentTaskWorkDef); - - // set teamWf2 to use that work def for tasks - IAtsTeamDefinition teamDef = teamWf2.getTeamDefinition(); - teamDef.setRelatedTaskWorkDefinition(differentTaskWorkDef.getName()); - - IAtsWorkDefinition newTaskWorkDef = - WorkDefinitionFactory.getWorkDefinitionForTaskNotYetCreated(teamWf2).getWorkDefinition(); - Assert.assertNotNull(taskWorkDef); - Assert.assertNotSame("Should be different", taskWorkDef, newTaskWorkDef); - Result result = TaskManager.moveTasks(teamWf2, Arrays.asList(taskToMove)); - - Assert.assertTrue("This should failed: " + result.getText(), result.isFalse()); - } - - /** - * Test can move task to teamWf if it defines/overrides i t's own WorkDefinition; eg. WorkDef specified in Task - * attribute - */ - @org.junit.Test - public void testMoveTasks_diffWorkDefinitionsButTaskOverride() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("testMoveTasks - diffWorkDefinitionsButTaskOverride"); - TaskArtifact taskToMove = AtsTestUtil.getOrCreateTaskOffTeamWf1(); - TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); - IAtsWorkDefinition taskWorkDef = WorkDefinitionFactory.getWorkDefinitionForTask(taskToMove).getWorkDefinition(); - - // create new task work def - XResultData resultData = new XResultData(); - IAtsWorkDefinition differentTaskWorkDef = - WorkDefinitionFactory.copyWorkDefinition(taskWorkDef.getName() + "2", taskWorkDef, resultData); - Assert.assertFalse("Should be no errors", resultData.isErrors()); - WorkDefinitionFactory.addWorkDefinition(differentTaskWorkDef); - - // set work definition override on task; move should go through - taskToMove.setSoleAttributeValue(AtsAttributeTypes.WorkflowDefinition, differentTaskWorkDef.getName()); - taskToMove.persist("testMoveTasks - set workDef attribute on task"); - - IAtsWorkDefinition newTaskWorkDef = - WorkDefinitionFactory.getWorkDefinitionForTaskNotYetCreated(teamWf2).getWorkDefinition(); - Assert.assertNotNull(taskWorkDef); - Assert.assertSame("Should be same", taskWorkDef, newTaskWorkDef); - Result result = TaskManager.moveTasks(teamWf2, Arrays.asList(taskToMove)); - - Assert.assertTrue("This should pass: " + result.getText(), result.isTrue()); - } - - @org.junit.Test - public void testTransitionToCompletedThenInWork() throws OseeCoreException { - - AtsTestUtil.cleanupAndReset("TaskManagerTest - TransitionToCompleted"); - - TaskArtifact taskArt = AtsTestUtil.getOrCreateTaskOffTeamWf1(); - - // ensure nothing dirty - AtsTestUtil.validateArtifactCache(); - - // transition to Completed - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), - getClass().getSimpleName() + " testTransitionToCompletedThenInWork() 1"); - Result result = TaskManager.transitionToCompleted(taskArt, 0.0, 3, transaction); - Assert.assertEquals(Result.TrueResult, result); - transaction.execute(); - - Assert.assertEquals(TaskStates.Completed.getName(), taskArt.getCurrentStateName()); - Assert.assertEquals(3.0, HoursSpentUtil.getHoursSpentTotal(taskArt)); - Assert.assertEquals("", taskArt.getStateMgr().getAssigneesStr()); - - // ensure nothing dirty - AtsTestUtil.validateArtifactCache(); - - // transition back to InWork - transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), - getClass().getSimpleName() + " testTransitionToCompletedThenInWork() 2"); - result = TaskManager.transitionToInWork(taskArt, AtsUsersClient.getUser(), 45, .5, transaction); - Assert.assertEquals(Result.TrueResult, result); - transaction.execute(); - Assert.assertEquals(TaskStates.InWork.getName(), taskArt.getCurrentStateName()); - Assert.assertEquals(3.5, HoursSpentUtil.getHoursSpentTotal(taskArt)); - Assert.assertEquals("Joe Smith", taskArt.getStateMgr().getAssigneesStr()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/createTasks/CreateTasksOperationTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/createTasks/CreateTasksOperationTest.java deleted file mode 100644 index afbdbf91eac..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/task/createTasks/CreateTasksOperationTest.java +++ /dev/null @@ -1,507 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.task.createTasks; - -import java.rmi.activation.Activator; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.List; -import java.util.logging.Level; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.api.version.IAtsVersion; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.branch.AtsBranchManagerCore; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.task.createtasks.CreateTasksOperation; -import org.eclipse.osee.ats.core.client.task.createtasks.GenerateTaskOpList; -import org.eclipse.osee.ats.core.client.task.createtasks.ITaskTitleProvider; -import org.eclipse.osee.ats.core.client.task.createtasks.TaskEnum; -import org.eclipse.osee.ats.core.client.task.createtasks.TaskMetadata; -import org.eclipse.osee.ats.core.client.task.createtasks.TaskOpModify; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.core.config.AtsVersionService; -import org.eclipse.osee.ats.core.users.AtsUsers; -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; -import org.eclipse.osee.framework.core.exception.MultipleAttributesExist; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.operation.NullOperationLogger; -import org.eclipse.osee.framework.core.operation.OperationLogger; -import org.eclipse.osee.framework.core.operation.Operations; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.core.util.XResultDataFile; -import org.eclipse.osee.framework.jdk.core.util.Collections; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; -import org.eclipse.osee.framework.skynet.core.change.Change; -import org.eclipse.osee.framework.skynet.core.change.IChangeWorker; -import org.eclipse.osee.framework.skynet.core.revision.ChangeData; -import org.eclipse.osee.framework.skynet.core.revision.LoadChangeType; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * Test unit for {@link CreateTasksOperation} - * - * @author Shawn F. Cook - */ -public class CreateTasksOperationTest { - - private final static String mockTaskTitlePrefix = "Task for ChangedArt:"; - private final static String artifactNamePrefix = CreateTasksOperationTest.class.getSimpleName(); - private boolean isPopulated = false; - private GenerateTaskOpList genTaskOpList; - private TeamWorkFlowArtifact destTeamWf1_Proper; - private TeamWorkFlowArtifact destTeamWf2_ChangesWithoutTasks; - private TeamWorkFlowArtifact destTeamWf3_TasksWithoutChanges; - private TeamWorkFlowArtifact reqTeamWf; - private IAtsActionableItem aia1_Proper; - private IAtsActionableItem aia2_ChangesWithoutTasks; - private IAtsActionableItem aia3_TasksWithoutChanges; - private IAtsVersion ver1_Proper; - private IAtsVersion ver2_ChangesWithoutTasks; - private IAtsVersion ver3_TasksWithoutChanges; - private ChangeData changeData_Proper; - private ChangeData changeData_ChangesWithoutTasks; - private ChangeData changeData_TasksWithoutChanges; - - @BeforeClass - @AfterClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanup(); - } - - private void assert_Tasks_OriginalData(TeamWorkFlowArtifact teamWf) throws MultipleAttributesExist, OseeCoreException { - Collection taskArts = teamWf.getTaskArtifacts(); - for (TaskArtifact taskArt : taskArts) { - //Verify that none of the tasks are the generated tasks. - Assert.assertTrue(taskArt.getName().contains(artifactNamePrefix)); - Assert.assertTrue(!taskArt.getName().contains(mockTaskTitlePrefix)); - - //Verify that non of the tasks had their notes modified. - String currentNoteValue = taskArt.getSoleAttributeValueAsString(AtsAttributeTypes.SmaNote, ""); - Assert.assertTrue(!currentNoteValue.contains(TaskOpModify.NO_MATCHING_CHANGE_REPORT_ARTIFACT)); - } - } - - private void assert_Tasks_NotesModified(TeamWorkFlowArtifact teamWf) throws MultipleAttributesExist, OseeCoreException { - Collection taskArts = teamWf.getTaskArtifacts(); - for (TaskArtifact taskArt : taskArts) { - String currentNoteValue = taskArt.getSoleAttributeValueAsString(AtsAttributeTypes.SmaNote, ""); - Assert.assertTrue(currentNoteValue.contains(TaskOpModify.NO_MATCHING_CHANGE_REPORT_ARTIFACT)); - } - } - - private void assert_Tasks_Generated(TeamWorkFlowArtifact teamWf) throws MultipleAttributesExist, OseeCoreException { - Collection taskArts = teamWf.getTaskArtifacts(); - for (TaskArtifact taskArt : taskArts) { - Assert.assertTrue(taskArt.getName().contains(mockTaskTitlePrefix)); - } - } - - private void runCreateTasksOperation(IAtsVersion destinationVersion, IAtsActionableItem actionableItemArt, ChangeData changeData) throws OseeCoreException { - OperationLogger stringLogger = NullOperationLogger.getSingleton(); - MockTaskTitleProvider taskTitleProvider = new MockTaskTitleProvider(); - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), - artifactNamePrefix + " - testCreateTasksOperation"); - XResultDataFile resultData = new XResultDataFile(); - resultData.clear(); - - //Notice that the Actionable Item used is what will determine which TeamWF the CreateTasksOperation will chose - // Kind of more complicated testing environment than I would prefer, but that's how it goes. - CreateTasksOperation createTasksOp = - new CreateTasksOperation(destinationVersion, actionableItemArt, changeData, reqTeamWf, false, resultData, - transaction, stringLogger, taskTitleProvider); - Operations.executeWorkAndCheckStatus(createTasksOp); - - transaction.execute(); - - } - - @org.junit.Test - public void test_Case_Proper() throws OseeCoreException, InterruptedException { - ensurePopulated(); - - assert_Tasks_OriginalData(destTeamWf1_Proper); - assert_Tasks_OriginalData(destTeamWf2_ChangesWithoutTasks); - assert_Tasks_OriginalData(destTeamWf3_TasksWithoutChanges); - - //There should be NO changes to any of the data before or after this test. - runCreateTasksOperation(ver1_Proper, aia1_Proper, changeData_Proper); - - assert_Tasks_OriginalData(destTeamWf1_Proper); - assert_Tasks_OriginalData(destTeamWf2_ChangesWithoutTasks); - assert_Tasks_OriginalData(destTeamWf3_TasksWithoutChanges); - - cleanupAndReset(); - } - - @org.junit.Test - public void test_Case_ChangesWithoutTasks() throws OseeCoreException, InterruptedException { - ensurePopulated(); - - assert_Tasks_OriginalData(destTeamWf1_Proper); - assert_Tasks_OriginalData(destTeamWf2_ChangesWithoutTasks); - assert_Tasks_OriginalData(destTeamWf3_TasksWithoutChanges); - - //There should be NO changes to any of the data before or after this test. - runCreateTasksOperation(ver2_ChangesWithoutTasks, aia2_ChangesWithoutTasks, changeData_ChangesWithoutTasks); - - assert_Tasks_OriginalData(destTeamWf1_Proper); - assert_Tasks_Generated(destTeamWf2_ChangesWithoutTasks); - assert_Tasks_OriginalData(destTeamWf3_TasksWithoutChanges); - - cleanupAndReset(); - } - - @org.junit.Test - public void test_Case_TasksWithoutChanges() throws OseeCoreException, InterruptedException { - ensurePopulated(); - - assert_Tasks_OriginalData(destTeamWf1_Proper); - assert_Tasks_OriginalData(destTeamWf2_ChangesWithoutTasks); - assert_Tasks_OriginalData(destTeamWf3_TasksWithoutChanges); - - //There should be NO changes to any of the data before or after this test. - runCreateTasksOperation(ver3_TasksWithoutChanges, aia3_TasksWithoutChanges, changeData_TasksWithoutChanges); - - assert_Tasks_OriginalData(destTeamWf1_Proper); - assert_Tasks_OriginalData(destTeamWf2_ChangesWithoutTasks); - assert_Tasks_NotesModified(destTeamWf3_TasksWithoutChanges); - - cleanupAndReset(); - } - - @org.junit.Test - public void testGenerateTaskOpList() throws OseeCoreException, InterruptedException { - ensurePopulated(); - - //All changes and tasks should be accounted for - so no changes should be needed. - List metadatasProper = genTaskOpList.generate(changeData_Proper, destTeamWf1_Proper); - Assert.assertEquals(0, metadatasProper.size()); - - //Changes without tasks should result in task creation - one for each change - List metadatasChangesWithoutTasks = - genTaskOpList.generate(changeData_ChangesWithoutTasks, destTeamWf2_ChangesWithoutTasks); - Assert.assertEquals(changeData_ChangesWithoutTasks.getChanges().size(), metadatasChangesWithoutTasks.size()); - for (TaskMetadata metadata : metadatasChangesWithoutTasks) { - Assert.assertEquals(metadata.getTaskEnum(), TaskEnum.CREATE); - } - - //Tasks without changes should result in task modification - one for each task - List metadatasTasksWithoutChanges = - genTaskOpList.generate(changeData_TasksWithoutChanges, destTeamWf3_TasksWithoutChanges); - Assert.assertEquals(destTeamWf3_TasksWithoutChanges.getTaskArtifacts().size(), - metadatasTasksWithoutChanges.size()); - for (TaskMetadata metadata : metadatasProper) { - Assert.assertEquals(metadata.getTaskEnum(), TaskEnum.MODIFY); - } - - cleanupAndReset(); - } - - private void cleanupAndReset() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(artifactNamePrefix); - isPopulated = false; - } - - private void ensurePopulated() throws OseeCoreException, InterruptedException { - if (!isPopulated) { - AtsTestUtil.cleanupAndReset(artifactNamePrefix); - genTaskOpList = new GenerateTaskOpList(); - destTeamWf1_Proper = AtsTestUtil.getTeamWf(); - destTeamWf2_ChangesWithoutTasks = AtsTestUtil.getTeamWf2(); - destTeamWf3_TasksWithoutChanges = AtsTestUtil.getTeamWf3(); - destTeamWf1_Proper.setName(destTeamWf1_Proper.getName() + " Proper"); - destTeamWf2_ChangesWithoutTasks.setName(destTeamWf2_ChangesWithoutTasks.getName() + " ChangesWithoutTasks"); - destTeamWf3_TasksWithoutChanges.setName(destTeamWf3_TasksWithoutChanges.getName() + " TasksWithoutChanges"); - - ver1_Proper = AtsTestUtil.getVerArt1(); - ver2_ChangesWithoutTasks = AtsTestUtil.getVerArt2(); - ver3_TasksWithoutChanges = AtsTestUtil.getVerArt3(); - ver1_Proper.setName(ver1_Proper.getName() + " Proper"); - ver2_ChangesWithoutTasks.setName(ver2_ChangesWithoutTasks.getName() + " ChangesWithoutTasks"); - ver3_TasksWithoutChanges.setName(ver3_TasksWithoutChanges.getName() + " TasksWithoutChanges"); - - AtsVersionService.get().setTargetedVersion(destTeamWf1_Proper, ver1_Proper); - AtsVersionService.get().setTargetedVersion(destTeamWf2_ChangesWithoutTasks, ver2_ChangesWithoutTasks); - AtsVersionService.get().setTargetedVersion(destTeamWf3_TasksWithoutChanges, ver3_TasksWithoutChanges); - - IAtsVersion verArt4 = AtsTestUtil.getVerArt4(); - verArt4.setBaselineBranchGuid(DemoSawBuilds.SAW_Bld_1.getGuid()); - verArt4.setAllowCreateBranch(true); - reqTeamWf = AtsTestUtil.getTeamWf4(); - Result result = AtsBranchManagerCore.createWorkingBranch_Validate(reqTeamWf); - Job createBranchJob = AtsBranchManagerCore.createWorkingBranch_Create(reqTeamWf); - createBranchJob.join(); - int count = 0; - while (count++ < 10 && reqTeamWf.getWorkingBranch() == null) { - Thread.sleep(200);//Needed due to some multi-threaded nonsense - } - reqTeamWf.setRelations(AtsRelationTypes.Derive_To, Collections.getAggregate(destTeamWf1_Proper, - destTeamWf2_ChangesWithoutTasks, destTeamWf3_TasksWithoutChanges)); - destTeamWf1_Proper.setRelations(AtsRelationTypes.Derive_From, Collections.getAggregate(reqTeamWf)); - destTeamWf2_ChangesWithoutTasks.setRelations(AtsRelationTypes.Derive_From, Collections.getAggregate(reqTeamWf)); - destTeamWf3_TasksWithoutChanges.setRelations(AtsRelationTypes.Derive_From, Collections.getAggregate(reqTeamWf)); - - changeData_Proper = createProperChangesAndTasks(destTeamWf1_Proper); - changeData_ChangesWithoutTasks = createChangesWithoutTasks(); - changeData_TasksWithoutChanges = createTasksWithoutChanges(destTeamWf3_TasksWithoutChanges); - - aia1_Proper = AtsTestUtil.getTestAi(); - aia2_ChangesWithoutTasks = AtsTestUtil.getTestAi2(); - aia3_TasksWithoutChanges = AtsTestUtil.getTestAi3(); - aia1_Proper.setName(aia1_Proper.getName() + " Proper"); - aia2_ChangesWithoutTasks.setName(aia2_ChangesWithoutTasks.getName() + " ChangesWithoutTasks"); - aia3_TasksWithoutChanges.setName(aia1_Proper.getName() + " TasksWithoutChanges"); - - isPopulated = true; - } - } - - private ChangeData createProperChangesAndTasks(TeamWorkFlowArtifact destTeamWf) throws OseeCoreException { - - //Create MockChange objects - Artifact changeArt01 = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " Change Art 01 - Proper"); - Artifact changeArt02 = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " Change Art 02 - Proper"); - Artifact changeArt03 = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " Change Art 03 - Proper"); - Artifact changeArt04 = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " Change Art 04 - Proper"); - Artifact changeArt05 = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " Change Art 05 - Proper"); - - Change mockChange01 = new MockChange(changeArt01); - Change mockChange02 = new MockChange(changeArt02); - Change mockChange03 = new MockChange(changeArt03); - Change mockChange04 = new MockChange(changeArt04); - Change mockChange05 = new MockChange(changeArt05); - - Date createdDate = new Date(); - - TaskArtifact task01 = - destTeamWf.createNewTask(artifactNamePrefix + " Task 01", createdDate, AtsUsers.getSystemUser()); - TaskArtifact task02 = - destTeamWf.createNewTask(artifactNamePrefix + " Task 02", createdDate, AtsUsers.getSystemUser()); - TaskArtifact task03 = - destTeamWf.createNewTask(artifactNamePrefix + " Task 03", createdDate, AtsUsers.getSystemUser()); - TaskArtifact task04 = - destTeamWf.createNewTask(artifactNamePrefix + " Task 04", createdDate, AtsUsers.getSystemUser()); - TaskArtifact task05 = - destTeamWf.createNewTask(artifactNamePrefix + " Task 05", createdDate, AtsUsers.getSystemUser()); - - task01.setSoleAttributeFromString(AtsAttributeTypes.TaskToChangedArtifactReference, changeArt01.getGuid()); - task02.setSoleAttributeFromString(AtsAttributeTypes.TaskToChangedArtifactReference, changeArt02.getGuid()); - task03.setSoleAttributeFromString(AtsAttributeTypes.TaskToChangedArtifactReference, changeArt03.getGuid()); - task04.setSoleAttributeFromString(AtsAttributeTypes.TaskToChangedArtifactReference, changeArt04.getGuid()); - task05.setSoleAttributeFromString(AtsAttributeTypes.TaskToChangedArtifactReference, changeArt05.getGuid()); - - SkynetTransaction transaction = - TransactionManager.createTransaction(reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " - createProperChangesAndTasks"); - changeArt01.persist(transaction); - changeArt02.persist(transaction); - changeArt03.persist(transaction); - changeArt04.persist(transaction); - changeArt05.persist(transaction); - transaction.execute(); - - SkynetTransaction transaction2 = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), - artifactNamePrefix + " - createProperChangesAndTasks - tasks"); - task01.persist(transaction2); - task02.persist(transaction2); - task03.persist(transaction2); - task04.persist(transaction2); - task05.persist(transaction2); - transaction2.execute(); - - Collection changes = - new ArrayList(Collections.getAggregate(mockChange01, mockChange02, mockChange03, mockChange04, - mockChange05)); - - ChangeData changeData = new ChangeData(changes); - - return changeData; - } - - private ChangeData createChangesWithoutTasks() throws OseeCoreException { - //Create MockChange objects - Artifact changeArt01 = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " Change Art 01 - No task"); - Artifact changeArt02 = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " Change Art 02 - No task"); - Artifact changeArt03 = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " Change Art 03 - No task"); - Artifact changeArt04 = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " Change Art 04 - No task"); - Artifact changeArt05 = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.GeneralData, reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " Change Art 05 - No task"); - - Change mockChange01 = new MockChange(changeArt01); - Change mockChange02 = new MockChange(changeArt02); - Change mockChange03 = new MockChange(changeArt03); - Change mockChange04 = new MockChange(changeArt04); - Change mockChange05 = new MockChange(changeArt05); - - SkynetTransaction transaction = - TransactionManager.createTransaction(reqTeamWf.getWorkingBranch(), - artifactNamePrefix + " - createChangesWithoutTasks"); - changeArt01.persist(transaction); - changeArt02.persist(transaction); - changeArt03.persist(transaction); - changeArt04.persist(transaction); - changeArt05.persist(transaction); - transaction.execute(); - - Collection changes = - new ArrayList(Collections.getAggregate(mockChange01, mockChange02, mockChange03, mockChange04, - mockChange05)); - - ChangeData changeData = new ChangeData(changes); - - return changeData; - } - - private ChangeData createTasksWithoutChanges(TeamWorkFlowArtifact destTeamWf) throws OseeCoreException { - Date createdDate = new Date(); - TaskArtifact task01 = - destTeamWf.createNewTask(artifactNamePrefix + " Task 01 - No changed artifact", createdDate, - AtsUsers.getSystemUser()); - TaskArtifact task02 = - destTeamWf.createNewTask(artifactNamePrefix + " Task 02 - No changed artifact", createdDate, - AtsUsers.getSystemUser()); - TaskArtifact task03 = - destTeamWf.createNewTask(artifactNamePrefix + " Task 03 - No changed artifact", createdDate, - AtsUsers.getSystemUser()); - TaskArtifact task04 = - destTeamWf.createNewTask(artifactNamePrefix + " Task 04 - No changed artifact", createdDate, - AtsUsers.getSystemUser()); - TaskArtifact task05 = - destTeamWf.createNewTask(artifactNamePrefix + " Task 05 - No changed artifact", createdDate, - AtsUsers.getSystemUser()); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), - artifactNamePrefix + " - createTasksWithoutChanges"); - task01.persist(transaction); - task02.persist(transaction); - task03.persist(transaction); - task04.persist(transaction); - task05.persist(transaction); - transaction.execute(); - - Collection changes = new ArrayList(); - - ChangeData changeData = new ChangeData(changes); - - return changeData; - } - private class MockChange extends Change { - - public MockChange(Artifact changeArtifact) { - super(null, 0, 0, null, null, false, changeArtifact, null); - } - - @Override - public int getItemTypeId() { - OseeLog.log(Activator.class, Level.WARNING, - "CreateTasksOperationTest.MockChange.getItemTypeId() - Unimplemented method called"); - return 0; - } - - @Override - public String getIsValue() { - OseeLog.log(Activator.class, Level.WARNING, - "CreateTasksOperationTest.MockChange.getIsValue() - Unimplemented method called"); - return null; - } - - @Override - public String getWasValue() { - OseeLog.log(Activator.class, Level.WARNING, - "CreateTasksOperationTest.MockChange.getWasValue() - Unimplemented method called"); - return null; - } - - @Override - public String getItemTypeName() { - OseeLog.log(Activator.class, Level.WARNING, - "CreateTasksOperationTest.MockChange.getItemTypeName() - Unimplemented method called"); - return null; - } - - @Override - public String getName() { - return this.getChangeArtifact().getName(); - } - - @Override - public String getItemKind() { - OseeLog.log(Activator.class, Level.WARNING, - "CreateTasksOperationTest.MockChange.getItemKind() - Unimplemented method called"); - return null; - } - - @Override - public int getItemId() { - OseeLog.log(Activator.class, Level.WARNING, - "CreateTasksOperationTest.MockChange.getItemId() - Unimplemented method called"); - return 0; - } - - @Override - public LoadChangeType getChangeType() { - OseeLog.log(Activator.class, Level.WARNING, - "CreateTasksOperationTest.MockChange.getChangeType() - Unimplemented method called"); - return null; - } - - @Override - public Class getWorker() { - OseeLog.log(Activator.class, Level.WARNING, - "CreateTasksOperationTest.MockChange.getWorker() - Unimplemented method called"); - return null; - } - } - - private class MockTaskTitleProvider implements ITaskTitleProvider { - @Override - public String getTaskTitle(TaskMetadata metadata) { - Artifact changedArt = metadata.getChangedArtifact(); - String changedArtGuid = changedArt.getGuid(); - return mockTaskTitlePrefix + changedArtGuid; - } - - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/AtsCoreClient_Util_PT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/AtsCoreClient_Util_PT_Suite.java deleted file mode 100644 index 277fd6469f3..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/AtsCoreClient_Util_PT_Suite.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.util; - -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({AtsUserTest.class, CopyActionDetailsTest.class}) -/** - * This test suite contains tests that must be run against demo database as Plugin JUnit (PT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Util_PT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Util_PT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Util_PT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/AtsUserTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/AtsUserTest.java deleted file mode 100644 index 70648423bd4..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/AtsUserTest.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Created on Mar 1, 2012 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.core.client.util; - -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.framework.core.data.Identity; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.jdk.core.util.Collections; -import org.eclipse.osee.framework.skynet.core.User; -import org.eclipse.osee.framework.skynet.core.UserManager; -import org.eclipse.osee.support.test.util.DemoUsers; - -/** - * @author Donald G. Dunne - */ -public class AtsUserTest { - - @org.junit.Test - public void testGetUserId() throws OseeCoreException { - User user = UserManager.getUser(); - AtsUser atsUser = new AtsUser(user); - Assert.assertEquals(user.getUserId(), atsUser.getUserId()); - } - - @org.junit.Test - public void testGetName() throws OseeCoreException { - User user = UserManager.getUser(); - AtsUser atsUser = new AtsUser(user); - Assert.assertEquals(user.getName(), atsUser.getName()); - } - - @org.junit.Test - public void testGetEmail() throws OseeCoreException { - User user = UserManager.getUser(); - AtsUser atsUser = new AtsUser(user); - Assert.assertEquals(user.getEmail(), atsUser.getEmail()); - } - - @org.junit.Test - public void testEquals() throws OseeCoreException { - User user = UserManager.getUser(); - AtsUser atsUser = new AtsUser(user); - Assert.assertEquals(atsUser, user); - - IAtsUser atsUser2 = getAtsUser(user.getName(), user.getUserId()); - Assert.assertEquals(atsUser, atsUser2); - } - - @org.junit.Test - public void testRemove() throws OseeCoreException { - Collection assignees = new HashSet(); - assignees.add(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)); - assignees.add(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - Assert.assertTrue(Collections.isEqual( - assignees, - Arrays.asList(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay), - AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)))); - - assignees.remove(AtsUsersClient.getUser()); - Assert.assertTrue(Collections.isEqual(assignees, - Arrays.asList(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)))); - } - - public IAtsUser getAtsUser(final String name, final String userId) { - return new IAtsUser() { - - @Override - public int compareTo(Object o) { - return 0; - } - - @Override - public String getName() { - return name; - } - - @Override - public String getHumanReadableId() { - return null; - } - - @Override - public String getGuid() { - return null; - } - - @Override - public String getDescription() { - return null; - } - - @Override - public boolean isActive() { - return false; - } - - @Override - public String getUserId() { - return userId; - } - - @Override - public String getEmail() { - return null; - } - - @Override - public boolean matches(Identity... identities) { - return false; - } - }; - } - -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/CopyActionDetailsTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/CopyActionDetailsTest.java deleted file mode 100644 index cdf00186139..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/util/CopyActionDetailsTest.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Created on Oct 21, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.core.client.util; - -import junit.framework.Assert; -import org.eclipse.osee.ats.api.workdef.ReviewBlockType; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.AtsTestUtil.AtsTestUtilState; -import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.util.CopyActionDetails; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class CopyActionDetailsTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws OseeCoreException { - AtsTestUtil.cleanup(); - } - - @Test - public void testGetDetailsStringForTeamWf() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - String str = new CopyActionDetails(AtsTestUtil.getTeamWf()).getDetailsString(); - Assert.assertEquals( - "\"Team Workflow\" - " + AtsTestUtil.getTeamWf().getHumanReadableId() + " - \"AtsTestUtil - Team WF [CopyActionDetailsTest]\"", - str); - } - - @Test - public void testGetDetailsStringForTask() throws OseeCoreException { - String str = new CopyActionDetails(AtsTestUtil.getOrCreateTaskOffTeamWf1()).getDetailsString(); - Assert.assertEquals( - "\"Task\" - " + AtsTestUtil.getOrCreateTaskOffTeamWf1().getHumanReadableId() + " - \"AtsTestUtil - Task [CopyActionDetailsTest]\"", - str); - } - - @Test - public void testGetDetailsStringForDecisionReview() throws OseeCoreException { - DecisionReviewArtifact review = - AtsTestUtil.getOrCreateDecisionReview(ReviewBlockType.Commit, AtsTestUtilState.Analyze); - String str = new CopyActionDetails(review).getDetailsString(); - Assert.assertEquals( - "\"Decision Review\" - " + review.getHumanReadableId() + " - \"AtsTestUtil Test Decision Review\"", str); - review.persist(getClass().getSimpleName()); - } - - @Test - public void testGetDetailsStringForPeerReview() throws OseeCoreException { - PeerToPeerReviewArtifact review = - AtsTestUtil.getOrCreatePeerReview(ReviewBlockType.None, AtsTestUtilState.Analyze, null); - String str = new CopyActionDetails(review).getDetailsString(); - Assert.assertEquals( - "\"PeerToPeer Review\" - " + review.getHumanReadableId() + " - \"AtsTestUtil Test Peer Review\"", str); - review.persist(getClass().getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/AtsCoreClient_Workflow_PT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/AtsCoreClient_Workflow_PT_Suite.java deleted file mode 100644 index 433b0e3511f..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/AtsCoreClient_Workflow_PT_Suite.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.workflow; - -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ConvertWorkflowStatesOperationTest.class}) -/** - * This test suite contains tests that must be run against demo database as Plugin JUnit (PT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Workflow_PT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Workflow_PT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Workflow_PT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/ConvertWorkflowStatesOperationTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/ConvertWorkflowStatesOperationTest.java deleted file mode 100644 index 8444a5fd17b..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/ConvertWorkflowStatesOperationTest.java +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.workflow; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test case for {@link ConvertWorkflowStatesOperation} - * - * @author Donald G. Dunne - */ -public class ConvertWorkflowStatesOperationTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws OseeCoreException { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranchToken(), - "ConvertWorkflowStatesOperationTest.cleanup"); - for (Artifact art : ArtifactQuery.getArtifactListFromTypeAndName(AtsArtifactTypes.TeamWorkflow, - "ConvertWorkflowStatesOperationTest%", AtsUtilCore.getAtsBranchToken())) { - art.deleteAndPersist(transaction); - } - transaction.execute(); - } - - @Test - public void testDoWork_errorChecking() throws Exception { - Map fromStateToStateMap = new HashMap(); - List workflows = new ArrayList(); - boolean persist = false; - XResultData rd = new XResultData(false); - ConvertWorkflowStatesOperation operation = - new ConvertWorkflowStatesOperation(fromStateToStateMap, workflows, persist, rd); - - operation.doWork(null); - Assert.assertEquals("Error: Must enter FromToState pairs\n", rd.toString()); - - fromStateToStateMap.put("Endor;se", "New\"StateName"); - rd.clear(); - operation.doWork(null); - Assert.assertEquals("Should be two state name errors\n", 2, rd.getNumErrors()); - - fromStateToStateMap.clear(); - fromStateToStateMap.put("Endorse", "NewStateName"); - - rd.clear(); - operation.doWork(null); - Assert.assertEquals("Error: No workflows entered\n", rd.toString()); - } - - @Test - public void testDoWork() throws Exception { - Map fromStateToStateMap = new HashMap(); - fromStateToStateMap.put("Endorse", "NewEndorse"); - fromStateToStateMap.put("Analyze", "NewAnalyze"); - - List workflows = new ArrayList(); - Artifact teamWf = - ArtifactTypeManager.addArtifact(AtsArtifactTypes.TeamWorkflow, AtsUtilCore.getAtsBranchToken(), - "ConvertWorkflowStatesOperationTest.testDoWork"); - teamWf.addAttribute(AtsAttributeTypes.CurrentState, "Endorse;"); - teamWf.addAttribute(AtsAttributeTypes.State, "Analyze;"); - teamWf.addAttribute(AtsAttributeTypes.State, "Endorse;"); - teamWf.addAttribute(AtsAttributeTypes.CompletedFromState, "Analyze"); - teamWf.addAttribute(AtsAttributeTypes.CancelledFromState, "Endorse"); - teamWf.addAttribute(AtsAttributeTypes.Log, "log state=\"Endorse\", state=\"Analyze\""); - workflows.add((AbstractWorkflowArtifact) teamWf); - - boolean persist = false; - XResultData rd = new XResultData(false); - - ConvertWorkflowStatesOperation operation = - new ConvertWorkflowStatesOperation(fromStateToStateMap, workflows, persist, rd); - operation.doWork(null); - - Assert.assertFalse(rd.isErrors()); - Assert.assertEquals("NewEndorse;", teamWf.getSoleAttributeValue(AtsAttributeTypes.CurrentState, "")); - List stateNames = teamWf.getAttributesToStringList(AtsAttributeTypes.State); - Assert.assertEquals(2, stateNames.size()); - Assert.assertTrue(stateNames.contains("NewAnalyze;")); - Assert.assertTrue(stateNames.contains("NewEndorse;")); - Assert.assertEquals("NewAnalyze", teamWf.getSoleAttributeValue(AtsAttributeTypes.CompletedFromState, "")); - Assert.assertEquals("NewEndorse", teamWf.getSoleAttributeValue(AtsAttributeTypes.CancelledFromState, "")); - Assert.assertEquals("log state=\"NewEndorse\", state=\"NewAnalyze\"", - teamWf.getSoleAttributeValue(AtsAttributeTypes.Log, "")); - - Assert.assertTrue(teamWf.isDirty()); - // decache to cleanup test, cause artifact is not persisted - ArtifactCache.deCache(teamWf); - } - - @Test - public void testDoWork_persist() throws Exception { - Map fromStateToStateMap = new HashMap(); - fromStateToStateMap.put("Endorse", "NewEndorse"); - - List workflows = new ArrayList(); - Artifact teamWf = - ArtifactTypeManager.addArtifact(AtsArtifactTypes.TeamWorkflow, AtsUtilCore.getAtsBranchToken(), - "ConvertWorkflowStatesOperationTest.testDoWork_persist"); - teamWf.addAttribute(AtsAttributeTypes.CurrentState, "Endorse;"); - workflows.add((AbstractWorkflowArtifact) teamWf); - - boolean persist = true; - XResultData rd = new XResultData(false); - - ConvertWorkflowStatesOperation operation = - new ConvertWorkflowStatesOperation(fromStateToStateMap, workflows, persist, rd); - operation.doWork(null); - - Assert.assertFalse(rd.isErrors()); - Assert.assertEquals("NewEndorse;", teamWf.getSoleAttributeValue(AtsAttributeTypes.CurrentState, "")); - - Assert.assertFalse(teamWf.isDirty()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/AtsCoreClient_Transition_PT_Suite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/AtsCoreClient_Transition_PT_Suite.java deleted file mode 100644 index 2bcbf4c8155..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/AtsCoreClient_Transition_PT_Suite.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.workflow.transition; - -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({TransitionManagerTest.class, StateManagerTest.class}) -/** - * This test suite contains tests that must be run against demo database as Plugin JUnit (PT) - * - * @author Donald G. Dunne - */ -public class AtsCoreClient_Transition_PT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCoreClient_Transition_PT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCoreClient_Transition_PT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/MockTransitionHelper.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/MockTransitionHelper.java deleted file mode 100644 index 6b729f48c89..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/MockTransitionHelper.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.workflow.transition; - -import java.util.Collection; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.workflow.AbstractWorkflowArtifact; -import org.eclipse.osee.framework.core.exception.OseeCoreException; - -/** - * Allows setting of workingBranchInWork and branchInCommit for testing purposes. If not set, uses default from - * TransitionHelper - * - * @author Donald G. Dunne - */ -public class MockTransitionHelper extends TransitionHelper { - public Boolean workingBranchInWork = null; - public Boolean branchInCommit = null; - public Boolean systemUser = null; - public Boolean systemUserAssigned = null; - public Boolean overrideTransitionValidityCheck = null; - - public MockTransitionHelper(String name, Collection awas, String toStateName, Collection toAssignees, String cancellationReason, TransitionOption... transitionOption) { - super(name, awas, toStateName, toAssignees, cancellationReason, transitionOption); - } - - @Override - public boolean isWorkingBranchInWork(TeamWorkFlowArtifact teamArt) throws OseeCoreException { - if (workingBranchInWork != null) { - return workingBranchInWork; - } - return super.isWorkingBranchInWork(teamArt); - } - - @Override - public boolean isBranchInCommit(TeamWorkFlowArtifact teamArt) throws OseeCoreException { - if (branchInCommit != null) { - return branchInCommit; - } - return super.isBranchInCommit(teamArt); - } - - public Boolean getWorkingBranchInWork() { - return workingBranchInWork; - } - - public void setWorkingBranchInWork(Boolean workingBranchInWork) { - this.workingBranchInWork = workingBranchInWork; - } - - public Boolean getBranchInCommit() { - return branchInCommit; - } - - public void setBranchInCommit(Boolean branchInCommit) { - this.branchInCommit = branchInCommit; - } - - @Override - public boolean isSystemUser() throws OseeCoreException { - if (systemUser != null) { - return systemUser; - } - return super.isSystemUser(); - } - - public void setSystemUser(Boolean systemUser) { - this.systemUser = systemUser; - } - - @Override - public boolean isSystemUserAssingee(AbstractWorkflowArtifact awa) throws OseeCoreException { - if (systemUserAssigned != null) { - return systemUserAssigned; - } - return super.isSystemUserAssingee(awa); - } - - public void setSystemUserAssigned(Boolean systemUserAssigned) { - this.systemUserAssigned = systemUserAssigned; - } - - @Override - public boolean isOverrideTransitionValidityCheck() { - if (overrideTransitionValidityCheck != null) { - return overrideTransitionValidityCheck; - } - return super.isOverrideTransitionValidityCheck(); - } - - public void setOverrideTransitionValidityCheck(Boolean overrideTransitionValidityCheck) { - this.overrideTransitionValidityCheck = overrideTransitionValidityCheck; - } - -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/StateManagerTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/StateManagerTest.java deleted file mode 100644 index b819534de71..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/StateManagerTest.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core.client.workflow.transition; - -import java.util.Collections; -import junit.framework.Assert; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.workflow.HoursSpentUtil; -import org.eclipse.osee.ats.core.client.workflow.StateManager; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.junit.Test; - -/** - * @author John Misinco - */ -public class StateManagerTest { - - @Test - public void testUpdateMetrics() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - - TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); - StateManager stateMgr = teamWf.getStateMgr(); - - stateMgr.updateMetrics(AtsTestUtil.getAnalyzeStateDef(), 1.1, 1, false); - - ITransitionHelper helper = - new MockTransitionHelper("dodad", Collections.singletonList(teamWf), - AtsTestUtil.getImplementStateDef().getName(), Collections.singleton(AtsUsersClient.getUser()), null); - TransitionManager manager = new TransitionManager(helper); - TransitionResults results = manager.handleAll(); - manager.getTransaction().execute(); - Assert.assertTrue(results.isEmpty()); - - stateMgr.updateMetrics(AtsTestUtil.getImplementStateDef(), 2.2, 1, false); - helper = - new MockTransitionHelper("dodad", Collections.singletonList(teamWf), - AtsTestUtil.getCompletedStateDef().getName(), Collections.singleton(AtsUsersClient.getUser()), null); - manager = new TransitionManager(helper); - results = manager.handleAll(); - manager.getTransaction().execute(); - - Assert.assertTrue(results.toString(), results.isEmpty()); - - Assert.assertEquals(3.3, HoursSpentUtil.getHoursSpentTotal(teamWf), 0.001); - - stateMgr.updateMetrics(AtsTestUtil.getCompletedStateDef(), -2.2, 1, false); - Assert.assertEquals(1.1, HoursSpentUtil.getHoursSpentTotal(teamWf), 0.001); - - stateMgr.updateMetrics(AtsTestUtil.getCompletedStateDef(), -2.2, 1, false); - Assert.assertEquals(0, HoursSpentUtil.getHoursSpentTotal(teamWf), 0.001); - - AtsTestUtil.cleanup(); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/TransitionManagerTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/TransitionManagerTest.java deleted file mode 100644 index c44bb187b75..00000000000 --- a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/workflow/transition/TransitionManagerTest.java +++ /dev/null @@ -1,595 +0,0 @@ -/** - * @author Donald G. Dunne - */ -package org.eclipse.osee.ats.core.client.workflow.transition; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Date; -import java.util.List; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; -import org.eclipse.osee.ats.api.workdef.IAtsWidgetDefinition; -import org.eclipse.osee.ats.api.workdef.IStateToken; -import org.eclipse.osee.ats.api.workdef.ReviewBlockType; -import org.eclipse.osee.ats.api.workdef.RuleDefinitionOption; -import org.eclipse.osee.ats.api.workdef.WidgetOption; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.AtsTestUtil.AtsTestUtilState; -import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; -import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; -import org.eclipse.osee.ats.core.client.review.DecisionReviewState; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.task.TaskManager; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.util.AtsUtilCore; -import org.eclipse.osee.ats.core.client.workflow.AbstractWorkflowArtifact; -import org.eclipse.osee.ats.core.config.AtsVersionService; -import org.eclipse.osee.ats.core.workflow.transition.TransitionResult; -import org.eclipse.osee.ats.mocks.MockStateDefinition; -import org.eclipse.osee.framework.core.enums.SystemUser; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoUsers; -import org.junit.AfterClass; -import org.junit.BeforeClass; - -/** - * Test unit for {@link TransitionManager} - * - * @author Donald G. Dunne - */ -public class TransitionManagerTest { - - private static List EMPTY_AWAS = new ArrayList(); - - @BeforeClass - @AfterClass - public static void cleanup() throws OseeCoreException { - AtsTestUtil.cleanup(); - } - - @org.junit.Test - public void testHandleTransitionValidation__NoAwas() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("TransitionManagerTest-A"); - TransitionHelper helper = - new TransitionHelper(getClass().getSimpleName(), EMPTY_AWAS, AtsTestUtil.getImplementStateDef().getName(), - Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(TransitionResult.NO_WORKFLOWS_PROVIDED_FOR_TRANSITION)); - } - - @org.junit.Test - public void testHandleTransitionValidation__ToStateNotNull() throws OseeCoreException { - TransitionHelper helper = - new TransitionHelper(getClass().getSimpleName(), Arrays.asList(AtsTestUtil.getTeamWf()), null, - Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(TransitionResult.TO_STATE_CANT_BE_NULL)); - } - - @org.junit.Test - public void testHandleTransitionValidation__InvalidToState() throws OseeCoreException { - TransitionHelper helper = - new TransitionHelper(getClass().getSimpleName(), Arrays.asList(AtsTestUtil.getTeamWf()), "InvalidStateName", - Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains("Transition-To State [InvalidStateName] does not exist for Work Definition [" + AtsTestUtil.getTeamWf().getWorkDefinition().getName() + "]")); - } - - @org.junit.Test - public void testHandleTransitionValidation__MustBeAssigned() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("TransitionManagerTest-B"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - IAtsTeamDefinition teamDef = teamArt.getTeamDefinition(); - Assert.assertNotNull(teamDef); - - TransitionHelper helper = - new TransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - - // First transition should be valid cause Joe Smith is assigned cause he created - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.toString(), results.isEmpty()); - - // Un-Assign Joe Smith - results.clear(); - Assert.assertFalse(helper.isPrivilegedEditEnabled()); - Assert.assertFalse(helper.isOverrideAssigneeCheck()); - teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(AtsTestUtil.getTeamWf(), TransitionResult.MUST_BE_ASSIGNED)); - - // Set PrivilegedEditEnabled edit enabled; no errors - results.clear(); - Assert.assertFalse(helper.isOverrideAssigneeCheck()); - helper.addTransitionOption(TransitionOption.PrivilegedEditEnabled); - Assert.assertTrue(helper.isPrivilegedEditEnabled()); - teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // Set OverrideAssigneeCheck - results.clear(); - helper.removeTransitionOption(TransitionOption.PrivilegedEditEnabled); - helper.addTransitionOption(TransitionOption.OverrideAssigneeCheck); - Assert.assertFalse(helper.isPrivilegedEditEnabled()); - Assert.assertTrue(helper.isOverrideAssigneeCheck()); - teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // Set UnAssigned, should be able to transition cause will be assigned as convenience - results.clear(); - helper.removeTransitionOption(TransitionOption.OverrideAssigneeCheck); - Assert.assertFalse(helper.isPrivilegedEditEnabled()); - Assert.assertFalse(helper.isOverrideAssigneeCheck()); - teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserFromToken(SystemUser.UnAssigned)); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // cleanup test - teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserFromToken(SystemUser.UnAssigned)); - } - - @org.junit.Test - public void testHandleTransitionValidation__WorkingBranchTransitionable() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("TransitionManagerTest-C"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - - // this should pass - transMgr.handleTransitionValidation(results); - Assert.assertTrue("Test wasn't reset to allow transition", results.isEmpty()); - - // attempt to transition to Implement with working branch - helper.setWorkingBranchInWork(true); - helper.setBranchInCommit(false); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(AtsTestUtil.getTeamWf(), TransitionResult.WORKING_BRANCH_EXISTS)); - - // attempt to cancel workflow with working branch - results.clear(); - helper.setWorkingBranchInWork(true); - helper.setBranchInCommit(false); - helper.setToStateName(TeamState.Cancelled.getName()); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(AtsTestUtil.getTeamWf(), TransitionResult.DELETE_WORKING_BRANCH_BEFORE_CANCEL)); - - // attempt to transition workflow with branch being committed - results.clear(); - helper.setWorkingBranchInWork(true); - helper.setBranchInCommit(true); - helper.setToStateName(TeamState.Implement.getName()); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(AtsTestUtil.getTeamWf(), TransitionResult.WORKING_BRANCH_BEING_COMMITTED)); - } - - @org.junit.Test - public void testHandleTransitionValidation__NoSystemUser() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("TransitionManagerTest-D"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - - // First transition should be valid cause Joe Smith is assigned cause he created - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - helper.setSystemUser(true); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(TransitionResult.CAN_NOT_TRANSITION_AS_SYSTEM_USER)); - - results.clear(); - helper.setSystemUser(false); - helper.setSystemUserAssigned(true); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(teamArt, TransitionResult.CAN_NOT_TRANSITION_WITH_SYSTEM_USER_ASSIGNED)); - } - - @org.junit.Test - public void testIsStateTransitionable__ValidateXWidgets__RequiredForTransition() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("TransitionManagerTest-1"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - IAtsStateDefinition fromStateDef = AtsTestUtil.getAnalyzeStateDef(); - fromStateDef.getLayoutItems().clear(); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - - // test that normal transition works - transMgr.handleTransitionValidation(results); - Assert.assertTrue("Test wasn't reset to allow transition", results.isEmpty()); - - IAtsWidgetDefinition estHoursWidget = AtsTestUtil.getEstHoursWidgetDef(); - fromStateDef.getLayoutItems().add(estHoursWidget); - IAtsWidgetDefinition workPackageWidget = AtsTestUtil.getWorkPackageWidgetDef(); - fromStateDef.getLayoutItems().add(workPackageWidget); - - // test that two widgets validate - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // test that estHours required fails validation - results.clear(); - estHoursWidget.getOptions().add(WidgetOption.REQUIRED_FOR_TRANSITION); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains("[Estimated Hours] is required for transition")); - - // test that workPackage required fails both widgets - results.clear(); - workPackageWidget.getOptions().add(WidgetOption.REQUIRED_FOR_TRANSITION); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains("[Estimated Hours] is required for transition")); - Assert.assertTrue(results.contains("[Work Package] is required for transition")); - } - - @org.junit.Test - public void testIsStateTransitionable__ValidateXWidgets__RequiredForCompletion() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("TransitionManagerTest-2"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - IAtsStateDefinition fromStateDef = AtsTestUtil.getAnalyzeStateDef(); - fromStateDef.getLayoutItems().clear(); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - - // test that normal transition works - transMgr.handleTransitionValidation(results); - Assert.assertTrue("Test wasn't reset to allow transition", results.isEmpty()); - - IAtsWidgetDefinition estHoursWidget = AtsTestUtil.getEstHoursWidgetDef(); - fromStateDef.getLayoutItems().add(estHoursWidget); - IAtsWidgetDefinition workPackageWidget = AtsTestUtil.getWorkPackageWidgetDef(); - fromStateDef.getLayoutItems().add(workPackageWidget); - - // test that two widgets validate - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // test that Work Package only widget required for normal transition - results.clear(); - helper.setToStateName(AtsTestUtil.getImplementStateDef().getName()); - estHoursWidget.getOptions().add(WidgetOption.REQUIRED_FOR_COMPLETION); - workPackageWidget.getOptions().add(WidgetOption.REQUIRED_FOR_TRANSITION); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains("[Work Package] is required for transition")); - - // test that Estimated House and Work Package required for transition to completed - results.clear(); - helper.setToStateName(AtsTestUtil.getCompletedStateDef().getName()); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains("[Estimated Hours] is required for transition to [Completed]")); - Assert.assertTrue(results.contains("[Work Package] is required for transition")); - - // test that neither are required for transition to canceled - results.clear(); - helper.setToStateName(AtsTestUtil.getCancelledStateDef().getName()); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // test that neither are required for transition to completed if overrideValidation is set - results.clear(); - helper.setToStateName(AtsTestUtil.getCompletedStateDef().getName()); - helper.setOverrideTransitionValidityCheck(true); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - } - - @org.junit.Test - public void testIsStateTransitionable__ValidateTasks() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("TransitionManagerTest-3"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - - // validate that can transition - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // validate that can't transition with InWork task - TaskArtifact taskArt = teamArt.createNewTask("New Tasks", new Date(), AtsUsersClient.getUser()); - results.clear(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(teamArt, TransitionResult.TASKS_NOT_COMPLETED)); - - MockStateDefinition teamCurrentState = (MockStateDefinition) teamArt.getStateDefinition(); - - try { - // test that can transition with AllowTransitionWithoutTaskCompletion rule on state - teamCurrentState.addRule(RuleDefinitionOption.AllowTransitionWithoutTaskCompletion.name()); - // transition task to completed - results.clear(); - - // should not get transition validation error now - results.clear(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // attempt to transition parent to cancelled, should not be able to transition with un-completed/cancelled tasks - helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getCancelledStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - transMgr = new TransitionManager(helper); - results.clear(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(teamArt, TransitionResult.TASKS_NOT_COMPLETED)); - - // Cleanup task by completing and validate can transition - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - TaskManager.transitionToCompleted(taskArt, 0.0, 0.1, transaction); - transaction.execute(); - results.clear(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - } finally { - // just in case test goes bad, make sure we remove this rule - teamCurrentState.removeRule(RuleDefinitionOption.AllowTransitionWithoutTaskCompletion.name()); - } - - } - - @org.junit.Test - public void testIsStateTransitionable__RequireTargetedVersion__FromTeamDef() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("TransitionManagerTest-4"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - - // validate that can transition - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // validate that can't transition without targeted version when team def rule is set - teamArt.getTeamDefinition().addRule(RuleDefinitionOption.RequireTargetedVersion.name()); - results.clear(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(teamArt, TransitionResult.MUST_BE_TARGETED_FOR_VERSION)); - - // set targeted version; transition validation should succeed - results.clear(); - AtsVersionService.get().setTargetedVersion(teamArt, AtsTestUtil.getVerArt1()); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - } - - @org.junit.Test - public void testIsStateTransitionable__RequireTargetedVersion__FromPageDef() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("TransitionManagerTest-5"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - - // validate that can transition - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // validate that can't transition without targeted version when team def rule is set - AtsTestUtil.getAnalyzeStateDef().addRule(RuleDefinitionOption.RequireTargetedVersion.name()); - results.clear(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(teamArt, TransitionResult.MUST_BE_TARGETED_FOR_VERSION)); - - // set targeted version; transition validation should succeed - results.clear(); - AtsVersionService.get().setTargetedVersion(teamArt, AtsTestUtil.getVerArt1()); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - } - - @org.junit.Test - public void testIsStateTransitionable__ReviewsCompleted() throws OseeCoreException { - - AtsTestUtil.cleanupAndReset("TransitionManagerTest-6"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - - // validate that can transition - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - DecisionReviewArtifact decArt = - AtsTestUtil.getOrCreateDecisionReview(ReviewBlockType.None, AtsTestUtilState.Analyze); - teamArt.addRelation(AtsRelationTypes.TeamWorkflowToReview_Review, decArt); - - // validate that can transition cause non-blocking review - results.clear(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // validate that can transition cause no transition blocking review - results.clear(); - decArt.setSoleAttributeValue(AtsAttributeTypes.ReviewBlocks, ReviewBlockType.Commit.name()); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // validate that can NOT transition cause blocking review - results.clear(); - decArt.setSoleAttributeValue(AtsAttributeTypes.ReviewBlocks, ReviewBlockType.Transition.name()); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(teamArt, TransitionResult.COMPLETE_BLOCKING_REVIEWS)); - - // validate that can transition cause review completed - results.clear(); - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName()); - DecisionReviewManager.transitionTo(decArt, DecisionReviewState.Completed, AtsUsersClient.getUser(), false, - transaction); - transaction.execute(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - } - - @org.junit.Test - public void testHandleTransitionValidation__ExtensionPointCheck() throws OseeCoreException { - - AtsTestUtil.cleanupAndReset("TransitionManagerTest-7"); - TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf(); - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - - // validate that can transition - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - // add transition listeners and verify can't transition - final String reason1 = "Don't want you to transition"; - final String reason2 = "Don't transition yet"; - final String exceptionStr = "This is the exception message"; - ITransitionListener listener1 = new TransitionAdapter() { - - @Override - public void transitioning(TransitionResults results, AbstractWorkflowArtifact sma, IStateToken fromState, IStateToken toState, Collection toAssignees) { - results.addResult(new TransitionResult(reason1)); - } - - }; - ITransitionListener listener2 = new TransitionAdapter() { - - @Override - public void transitioning(TransitionResults results, AbstractWorkflowArtifact sma, IStateToken fromState, IStateToken toState, Collection toAssignees) { - results.addResult(sma, new TransitionResult(reason2)); - } - - }; - ITransitionListener listener3 = new TransitionAdapter() { - - @Override - public void transitioning(TransitionResults results, AbstractWorkflowArtifact sma, IStateToken fromState, IStateToken toState, Collection toAssignees) { - // do nothing - } - - }; - ITransitionListener listener4 = new TransitionAdapter() { - - @Override - public void transitioning(TransitionResults results, AbstractWorkflowArtifact sma, IStateToken fromState, IStateToken toState, Collection toAssignees) throws OseeCoreException { - throw new OseeCoreException(exceptionStr); - } - - }; - try { - TransitionManager.addListener(listener1); - TransitionManager.addListener(listener2); - TransitionManager.addListener(listener3); - TransitionManager.addListener(listener4); - - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.contains(reason1)); - Assert.assertTrue(results.contains(reason2)); - Assert.assertTrue(results.contains(exceptionStr)); - } finally { - TransitionManager.removeListener(listener1); - TransitionManager.removeListener(listener2); - TransitionManager.removeListener(listener3); - TransitionManager.removeListener(listener4); - } - } - - /** - * Test that artifacts can be transitioned to the same state without error. (i.e.: An action in Implement can be - * transition to Implement a second time and the TransitionManager will just ignore this second, redundant - * transition) - */ - @org.junit.Test - public void testIsStateTransitionable__ToSameState() throws OseeCoreException { - AtsTestUtil.cleanupAndReset("TransitionManagerTest-8"); - TeamWorkFlowArtifact teamArt01 = AtsTestUtil.getTeamWf(); - TeamWorkFlowArtifact teamArt02 = AtsTestUtil.getTeamWf2(); - - //1. Initially transition workflows to Implement - MockTransitionHelper helper = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt01, teamArt02), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr = new TransitionManager(helper); - TransitionResults results = new TransitionResults(); - transMgr.handleTransitionValidation(results); - Assert.assertTrue(results.isEmpty()); - - //2. redundant transition workflows to Implement - MockTransitionHelper helper01 = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt01, teamArt02), - AtsTestUtil.getImplementStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr01 = new TransitionManager(helper01); - TransitionResults results01 = new TransitionResults(); - transMgr01.handleTransitionValidation(results01); - Assert.assertTrue(results01.isEmpty()); - - //3. Transition one TeamWf to Complete - MockTransitionHelper helper02 = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt01), - AtsTestUtil.getCompletedStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr02 = new TransitionManager(helper02); - TransitionResults results02 = new TransitionResults(); - transMgr02.handleTransitionValidation(results02); - Assert.assertTrue(results02.isEmpty()); - - //4. redundant transition workflows to Implement - MockTransitionHelper helper03 = - new MockTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt01, teamArt02), - AtsTestUtil.getCompletedStateDef().getName(), Arrays.asList(AtsUsersClient.getUser()), null, - TransitionOption.None); - TransitionManager transMgr03 = new TransitionManager(helper03); - TransitionResults results03 = new TransitionResults(); - transMgr03.handleTransitionValidation(results03); - Assert.assertTrue(results03.isEmpty()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.client/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.core.client/META-INF/MANIFEST.MF index 9a51ca2993f..78b70957b7b 100644 --- a/plugins/org.eclipse.osee.ats.core.client/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.ats.core.client/META-INF/MANIFEST.MF @@ -86,6 +86,7 @@ Export-Package: org.eclipse.osee.ats.core.client.access, org.eclipse.osee.ats.core.client.review.defect, org.eclipse.osee.ats.core.client.review.role, org.eclipse.osee.ats.core.client.task, + org.eclipse.osee.ats.core.client.task.createtasks, org.eclipse.osee.ats.core.client.team, org.eclipse.osee.ats.core.client.util, org.eclipse.osee.ats.core.client.validator, diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/notify/AtsNotificationManager.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/notify/AtsNotificationManager.java index 6f1307b7d00..3eccedb77ba 100644 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/notify/AtsNotificationManager.java +++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/notify/AtsNotificationManager.java @@ -177,7 +177,7 @@ public class AtsNotificationManager { return AtsNotificationManager.inTest; } - protected static void setInTest(boolean inTest) { + public static void setInTest(boolean inTest) { AtsNotificationManager.inTest = inTest; } } diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/workflow/StateManager.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/workflow/StateManager.java index aabc4215851..e89bcb81a4e 100644 --- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/workflow/StateManager.java +++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/workflow/StateManager.java @@ -66,6 +66,7 @@ import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; public class StateManager implements IAtsNotificationListener, WorkStateProvider, WorkStateFactory { private final AbstractWorkflowArtifact awa; + private static List allValidStateNames = null; private WorkStateProvider stateProvider = null; private int loadTransactionNumber; diff --git a/plugins/org.eclipse.osee.ats.core.test/pom.xml b/plugins/org.eclipse.osee.ats.core.test/pom.xml new file mode 100644 index 00000000000..2ef2eca96a9 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.core.test/pom.xml @@ -0,0 +1,31 @@ + + + 4.0.0 + + + org.eclipse.osee + org.eclipse.osee.ats.parent + 0.11.0-SNAPSHOT + ../../plugins/org.eclipse.osee.ats.parent + + + org.eclipse.osee.ats.core.test + eclipse-test-plugin + OSEE ATS Core Test (Incubation) + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + org.eclipse.osee.ats.core.test + org.eclipse.osee.ats.core.AllAtsCoreTestSuite + + + + + + \ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/AllAtsCoreTestSuite.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/AllAtsCoreTestSuite.java new file mode 100644 index 00000000000..1f96b393824 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/AllAtsCoreTestSuite.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.core; + +import org.eclipse.osee.ats.core.column.AtsCore_Column_JT_Suite; +import org.eclipse.osee.ats.core.model.impl.AtsCore_ModelImpl_JT_Suite; +import org.eclipse.osee.ats.core.transition.AtsCore_Transition_JT_Suite; +import org.eclipse.osee.ats.core.users.AtsCore_Users_JT_Suite; +import org.eclipse.osee.ats.core.util.AtsCore_Util_JT_Suite; +import org.eclipse.osee.ats.core.validator.AtsCore_Validator_JT_Suite; +import org.eclipse.osee.ats.core.workdef.AtsCore_WorkDef_JT_Suite; +import org.eclipse.osee.ats.core.workflow.AtsCore_Workflow_JT_Suite; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + AtsCore_Column_JT_Suite.class, + AtsCore_ModelImpl_JT_Suite.class, + AtsCore_Transition_JT_Suite.class, + AtsCore_Util_JT_Suite.class, + AtsCore_Users_JT_Suite.class, + AtsCore_Validator_JT_Suite.class, + AtsCore_WorkDef_JT_Suite.class, + AtsCore_Workflow_JT_Suite.class}) +/** + * This test suite contains tests that can be run as stand-alone JUnit tests (JT) + * + * @author Donald G. Dunne + */ +public class AllAtsCoreTestSuite { + // Test Suite +} diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/AtsCore_JT_Suite.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/AtsCore_JT_Suite.java deleted file mode 100644 index 6c89b4d9217..00000000000 --- a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/AtsCore_JT_Suite.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.core; - -import org.eclipse.osee.ats.core.column.AtsCore_Column_JT_Suite; -import org.eclipse.osee.ats.core.model.impl.AtsCore_ModelImpl_JT_Suite; -import org.eclipse.osee.ats.core.transition.AtsCore_Transition_JT_Suite; -import org.eclipse.osee.ats.core.users.AtsCore_Users_JT_Suite; -import org.eclipse.osee.ats.core.util.AtsCore_Util_JT_Suite; -import org.eclipse.osee.ats.core.validator.AtsCore_Validator_JT_Suite; -import org.eclipse.osee.ats.core.workdef.AtsCore_WorkDef_JT_Suite; -import org.eclipse.osee.ats.core.workdef.provider.AtsCore_WorkDefProvider_JT_Suite; -import org.eclipse.osee.ats.core.workflow.AtsCore_Workflow_JT_Suite; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - AtsCore_Column_JT_Suite.class, - AtsCore_ModelImpl_JT_Suite.class, - AtsCore_Util_JT_Suite.class, - AtsCore_WorkDef_JT_Suite.class, - AtsCore_Transition_JT_Suite.class, - AtsCore_WorkDefProvider_JT_Suite.class, - AtsCore_Users_JT_Suite.class, - AtsCore_Validator_JT_Suite.class, - AtsCore_Workflow_JT_Suite.class}) -/** - * This test suite contains tests that can be run as stand-alone JUnit tests (JT) - * - * @author Donald G. Dunne - */ -public class AtsCore_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCore_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCore_JT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/config/internal/TeamDefinitionTest.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/config/internal/TeamDefinitionTest.java new file mode 100644 index 00000000000..2fd485fca5a --- /dev/null +++ b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/config/internal/TeamDefinitionTest.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2012 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.core.config.internal; + +import junit.framework.Assert; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.junit.Test; + +/** + * Test case for {@link TeamDefinition} + * + * @author Donald G. Dunne + */ +public class TeamDefinitionTest { + + @Test + public void testGetTeamDefinitionHoldingVersions() throws OseeCoreException { + TeamDefinition teamDef1 = new TeamDefinition("Team Def 1", "td1guid", "ADSF"); + + TeamDefinition teamDef1_child1 = new TeamDefinition("Team Def 1_1", "td1_1guid", "ADSF"); + teamDef1_child1.setParentTeamDef(teamDef1); + + Assert.assertNull(teamDef1.getTeamDefinitionHoldingVersions()); + Assert.assertNull(teamDef1_child1.getTeamDefinitionHoldingVersions()); + + teamDef1.getVersions().add(new Version("ver1", "ver1guid", "ASDF")); + + Assert.assertEquals(teamDef1, teamDef1.getTeamDefinitionHoldingVersions()); + Assert.assertEquals(teamDef1, teamDef1_child1.getTeamDefinitionHoldingVersions()); + } + + @Test + public void testIsTeamUsesVersions() throws OseeCoreException { + TeamDefinition teamDef1 = new TeamDefinition("Team Def 1", "td1guid", "ADSF"); + + TeamDefinition teamDef1_child1 = new TeamDefinition("Team Def 1_1", "td1_1guid", "ADSF"); + teamDef1_child1.setParentTeamDef(teamDef1); + + Assert.assertFalse(teamDef1.isTeamUsesVersions()); + Assert.assertFalse(teamDef1_child1.isTeamUsesVersions()); + + teamDef1.getVersions().add(new Version("ver1", "ver1guid", "ASDF")); + + Assert.assertTrue(teamDef1.isTeamUsesVersions()); + Assert.assertTrue(teamDef1_child1.isTeamUsesVersions()); + } + +} diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/model/impl/AtsCore_ModelImpl_JT_Suite.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/model/impl/AtsCore_ModelImpl_JT_Suite.java index 60d0c42c31a..79657b0e4ef 100644 --- a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/model/impl/AtsCore_ModelImpl_JT_Suite.java +++ b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/model/impl/AtsCore_ModelImpl_JT_Suite.java @@ -10,9 +10,6 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.model.impl; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Suite; @@ -28,14 +25,5 @@ import org.junit.runners.Suite; * @author Donald G. Dunne */ public class AtsCore_ModelImpl_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCore_ModelImpl_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCore_ModelImpl_JT_Suite.class.getSimpleName()); - } + // Test Suite } diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/model/impl/WorkStateProviderImplTest.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/model/impl/WorkStateProviderImplTest.java index befd23c0d70..5510826a977 100644 --- a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/model/impl/WorkStateProviderImplTest.java +++ b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/model/impl/WorkStateProviderImplTest.java @@ -19,24 +19,27 @@ import org.eclipse.osee.ats.core.users.UnAssigned; import org.eclipse.osee.framework.core.exception.OseeArgumentException; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.junit.Before; import org.junit.Test; /** * @author Donald G. Dunne */ public class WorkStateProviderImplTest { + private final MockAtsUser joe = new MockAtsUser("joe"); private final MockAtsUser steve = new MockAtsUser("steve"); private final MockAtsUser alice = new MockAtsUser("alice"); - @Test - public void testWorkStateProviderImplWorkStateFactory() { - new WorkStateProviderImpl(new MockWorkStateFactory()); + private WorkStateProviderImpl provider; + + @Before + public void setup() { + provider = new WorkStateProviderImpl(new MockWorkStateFactory()); } @Test public void testSetNotificationListener() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.setNotificationListener(new IAtsNotificationListener() { @@ -56,7 +59,6 @@ public class WorkStateProviderImplTest { @Test public void testAddAssignee() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); @@ -79,7 +81,6 @@ public class WorkStateProviderImplTest { @Test(expected = OseeArgumentException.class) public void testAddAssignee_exception() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); @@ -88,7 +89,6 @@ public class WorkStateProviderImplTest { @Test public void testSetAssignee() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); @@ -115,7 +115,6 @@ public class WorkStateProviderImplTest { @Test public void testSetAssignee_removeUnassigned() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); @@ -129,16 +128,14 @@ public class WorkStateProviderImplTest { } @Test - public void testAddState_exception() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); + public void testAddState_exception() { provider.addState(new WorkStateImpl("endorse")); provider.addState(new WorkStateImpl("endorse"), false); } @Test - public void testAddState_exception2() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); + public void testAddState_exception2() { provider.addState(new WorkStateImpl("endorse")); provider.addState("endorse", new LinkedList(), 34, 23, false); @@ -146,7 +143,6 @@ public class WorkStateProviderImplTest { @Test(expected = OseeArgumentException.class) public void testSetAssignee_exception() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); @@ -155,7 +151,6 @@ public class WorkStateProviderImplTest { @Test public void testIsUnAssigned() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); Assert.assertFalse(provider.isUnAssigned()); @@ -165,7 +160,6 @@ public class WorkStateProviderImplTest { @Test public void testIsUnAssignedSolely() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); Assert.assertFalse(provider.isUnAssignedSolely()); @@ -179,7 +173,6 @@ public class WorkStateProviderImplTest { @Test public void testGetAssigneesStrString() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.addAssignee(steve); @@ -193,7 +186,6 @@ public class WorkStateProviderImplTest { @Test public void testAddAssignees() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.addAssignees(Arrays.asList(joe, alice)); @@ -202,7 +194,6 @@ public class WorkStateProviderImplTest { @Test public void testAddAssignees_state() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.addAssignees("endorse", Arrays.asList(joe, alice)); @@ -211,7 +202,6 @@ public class WorkStateProviderImplTest { @Test public void testSetAssigneesIAtsUser() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.setAssignee(joe); @@ -222,7 +212,6 @@ public class WorkStateProviderImplTest { @Test public void testSetAssigneeStringIAtsUser() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.setAssignee("endorse", joe); @@ -233,7 +222,6 @@ public class WorkStateProviderImplTest { @Test public void testSetAssigneesListOfQextendsIAtsUser() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.addAssignees(Arrays.asList(joe, alice)); @@ -244,7 +232,6 @@ public class WorkStateProviderImplTest { @Test public void testSetAssigneesStringListOfQextendsIAtsUser() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.setAssignee("endorse", joe); @@ -255,7 +242,6 @@ public class WorkStateProviderImplTest { @Test public void testRemoveAssigneeIAtsUser() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.setAssignees("endorse", Arrays.asList(joe, alice)); @@ -266,7 +252,6 @@ public class WorkStateProviderImplTest { @Test public void testClearAssignees() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.setAssignees("endorse", Arrays.asList(joe, alice)); @@ -276,8 +261,7 @@ public class WorkStateProviderImplTest { } @Test - public void testIsStateVisited() throws OseeArgumentException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); + public void testIsStateVisited() { Assert.assertFalse(provider.isStateVisited("endorse")); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); @@ -288,8 +272,7 @@ public class WorkStateProviderImplTest { } @Test - public void testCreateState() throws OseeArgumentException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); + public void testCreateState() { provider.createState("endorse"); Assert.assertTrue(provider.isStateVisited("endorse")); provider.createState("endorse"); @@ -297,8 +280,7 @@ public class WorkStateProviderImplTest { } @Test - public void testAddStateStringListOfQextendsIAtsUserDoubleInt() throws OseeArgumentException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); + public void testAddStateStringListOfQextendsIAtsUserDoubleInt() { provider.addState("endorse", Arrays.asList(joe), 4.2, 4); Assert.assertTrue(provider.isStateVisited("endorse")); Assert.assertEquals(1, provider.getVisitedStateNames().size()); @@ -309,13 +291,11 @@ public class WorkStateProviderImplTest { @Test(expected = OseeStateException.class) public void testGetAssigneesForState() throws OseeStateException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.getAssignees(); } @Test - public void testAddStateWorkState() throws OseeArgumentException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); + public void testAddStateWorkState() { provider.addState("endorse", Arrays.asList(joe)); Assert.assertTrue(provider.isStateVisited("endorse")); Assert.assertEquals(1, provider.getVisitedStateNames().size()); @@ -326,19 +306,16 @@ public class WorkStateProviderImplTest { @Test public void getPercentComplete() { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); Assert.assertEquals(0, provider.getPercentComplete("endorse")); } @Test(expected = OseeStateException.class) public void setPercentComplete_exception() throws OseeStateException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.setPercentComplete("endorse", 34); } @Test public void setPercentComplete() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.setPercentComplete("endorse", 34); @@ -348,19 +325,16 @@ public class WorkStateProviderImplTest { @Test public void getHoursSpent() { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); Assert.assertEquals(0.0, provider.getHoursSpent("endorse")); } @Test(expected = OseeStateException.class) public void setHoursSpent_exception() throws OseeStateException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.setHoursSpent("endorse", 8.0); } @Test public void setHoursSpent() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.addState(new WorkStateImpl("endorse")); provider.setCurrentStateName("endorse"); provider.setHoursSpent("endorse", 8.0); @@ -370,13 +344,11 @@ public class WorkStateProviderImplTest { @Test(expected = OseeStateException.class) public void removeAssignee_exception() throws OseeCoreException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); provider.removeAssignee(joe); } @Test - public void testIsSame() throws OseeArgumentException { - WorkStateProviderImpl provider = new WorkStateProviderImpl(new MockWorkStateFactory()); + public void testIsSame() { WorkStateImpl endorse = new WorkStateImpl("endorse"); provider.addState(endorse); diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/transition/AtsCore_Transition_JT_Suite.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/transition/AtsCore_Transition_JT_Suite.java index 92babc9aa7f..83c8bdcfcad 100644 --- a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/transition/AtsCore_Transition_JT_Suite.java +++ b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/transition/AtsCore_Transition_JT_Suite.java @@ -10,9 +10,6 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.transition; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Suite; @@ -24,14 +21,5 @@ import org.junit.runners.Suite; * @author Donald G. Dunne */ public class AtsCore_Transition_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCore_Transition_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCore_Transition_JT_Suite.class.getSimpleName()); - } + // Test Suite } diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/util/AtsCore_Util_JT_Suite.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/util/AtsCore_Util_JT_Suite.java index 34bf095b4ea..9dc87c7ba45 100644 --- a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/util/AtsCore_Util_JT_Suite.java +++ b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/util/AtsCore_Util_JT_Suite.java @@ -10,9 +10,6 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.util; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Suite; @@ -24,14 +21,5 @@ import org.junit.runners.Suite; * @author Donald G. Dunne */ public class AtsCore_Util_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCore_Util_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCore_Util_JT_Suite.class.getSimpleName()); - } + // Test Suite } diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/AtsCore_WorkDef_JT_Suite.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/AtsCore_WorkDef_JT_Suite.java index 84e7407ad3e..ed9d9fe3f69 100644 --- a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/AtsCore_WorkDef_JT_Suite.java +++ b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/AtsCore_WorkDef_JT_Suite.java @@ -10,14 +10,13 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.workdef; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.eclipse.osee.ats.core.workdef.provider.AtsCore_WorkDefProvider_JT_Suite; import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses({ + AtsCore_WorkDefProvider_JT_Suite.class, WorkDefinitionMatchTest.class, WorkDefinitionSheetTest.class, StateEventTypeTest.class, @@ -31,14 +30,5 @@ import org.junit.runners.Suite; * @author Donald G. Dunne */ public class AtsCore_WorkDef_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCore_WorkDef_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCore_WorkDef_JT_Suite.class.getSimpleName()); - } + // Test Suite } diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/provider/AtsCore_WorkDefProvider_JT_Suite.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/provider/AtsCore_WorkDefProvider_JT_Suite.java index 71320bc26f3..185cad32f72 100644 --- a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/provider/AtsCore_WorkDefProvider_JT_Suite.java +++ b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workdef/provider/AtsCore_WorkDefProvider_JT_Suite.java @@ -10,9 +10,6 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.workdef.provider; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Suite; @@ -24,14 +21,5 @@ import org.junit.runners.Suite; * @author Donald G. Dunne */ public class AtsCore_WorkDefProvider_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCore_WorkDefProvider_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCore_WorkDefProvider_JT_Suite.class.getSimpleName()); - } + // Test Suite } diff --git a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workflow/AtsCore_Workflow_JT_Suite.java b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workflow/AtsCore_Workflow_JT_Suite.java index a389ba66fbd..51957a3267d 100644 --- a/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workflow/AtsCore_Workflow_JT_Suite.java +++ b/plugins/org.eclipse.osee.ats.core.test/src/org/eclipse/osee/ats/core/workflow/AtsCore_Workflow_JT_Suite.java @@ -10,9 +10,6 @@ *******************************************************************************/ package org.eclipse.osee.ats.core.workflow; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Suite; @@ -24,14 +21,5 @@ import org.junit.runners.Suite; * @author Donald G. Dunne */ public class AtsCore_Workflow_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsCore_Workflow_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCore_Workflow_JT_Suite.class.getSimpleName()); - } + // Test Suite } diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/model/impl/WorkStateProviderImpl.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/model/impl/WorkStateProviderImpl.java index 26dff8af9fc..0f6ebf9b315 100644 --- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/model/impl/WorkStateProviderImpl.java +++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/model/impl/WorkStateProviderImpl.java @@ -36,10 +36,11 @@ import org.eclipse.osee.framework.logging.OseeLog; */ public class WorkStateProviderImpl implements WorkStateProvider { - protected IAtsNotificationListener listener; - WorkStateFactory factory; - List states = new LinkedList(); - String currentStateName; + private final WorkStateFactory factory; + private final List states = new LinkedList(); + + private IAtsNotificationListener listener; + private String currentStateName; /** * Creates a new StateData initialized with currentStateName as current state and sets assignees diff --git a/plugins/org.eclipse.osee.ats.impl.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.impl.test/META-INF/MANIFEST.MF index 71749e6c338..d8d62ded209 100644 --- a/plugins/org.eclipse.osee.ats.impl.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.ats.impl.test/META-INF/MANIFEST.MF @@ -1,15 +1,14 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: ATS Work Definition Impl Test +Bundle-Name: ATS Work Definition Impl Test (Incubation) Bundle-SymbolicName: org.eclipse.osee.ats.impl.test -Bundle-Version: 1.0.0.qualifier +Bundle-Vendor: Eclipse Open System Engineering Environment +Bundle-Version: 0.11.0.qualifier Fragment-Host: org.eclipse.osee.ats.impl Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Import-Package: junit.framework;version="4.8.2", - org.eclipse.osee.ats.api.ai, - org.eclipse.osee.ats.api.data, - org.eclipse.osee.ats.api.team, - org.eclipse.osee.ats.api.workdef, - org.junit;version="4.8.2", - org.junit.runner;version="4.8.2", - org.junit.runners;version="4.8.2" +Import-Package: org.eclipse.osee.ats.api.workdef +Require-Bundle: org.junit, + org.mockito;bundle-version="1.9.0", + org.hamcrest.core, + org.objenesis + diff --git a/plugins/org.eclipse.osee.ats.impl.test/build.properties b/plugins/org.eclipse.osee.ats.impl.test/build.properties index 34d2e4d2dad..3b1eb2b27f6 100644 --- a/plugins/org.eclipse.osee.ats.impl.test/build.properties +++ b/plugins/org.eclipse.osee.ats.impl.test/build.properties @@ -2,3 +2,5 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ . +additional.bundles = org.eclipse.osee.ats.api,\ + org.eclipse.osee.ats.mocks diff --git a/plugins/org.eclipse.osee.ats.impl.test/pom.xml b/plugins/org.eclipse.osee.ats.impl.test/pom.xml new file mode 100644 index 00000000000..b7b493f6b61 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.impl.test/pom.xml @@ -0,0 +1,31 @@ + + + 4.0.0 + + + org.eclipse.osee + org.eclipse.osee.ats.parent + 0.11.0-SNAPSHOT + ../../plugins/org.eclipse.osee.ats.parent + + + org.eclipse.osee.ats.impl.test + eclipse-test-plugin + OSEE ATS WorkDef Impl Test(Incubation) + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + org.eclipse.osee.ats.impl.test + org.eclipse.osee.ats.impl.AllAtsImplTestSuite + + + + + + \ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/AllAtsImplTestSuite.java b/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/AllAtsImplTestSuite.java new file mode 100644 index 00000000000..1c9f77be111 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/AllAtsImplTestSuite.java @@ -0,0 +1,25 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.impl; + +import org.eclipse.osee.ats.impl.internal.convert.ConvertTestSuite; +import org.eclipse.osee.ats.impl.internal.model.ModelTestSuite; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ConvertTestSuite.class, ModelTestSuite.class}) +public class AllAtsImplTestSuite { + // Test Suite +} diff --git a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/AtsImpl_JT_Suite.java b/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/AtsImpl_JT_Suite.java deleted file mode 100644 index 7130e3a74bf..00000000000 --- a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/AtsImpl_JT_Suite.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.impl.internal; - -import org.eclipse.osee.ats.impl.internal.model.AtsCore_WorkDef_JT_Suite; -import org.eclipse.osee.ats.impl.internal.query.AtsImpl_Query_Suite; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({AtsCore_WorkDef_JT_Suite.class, AtsImpl_Query_Suite.class}) -/** - * This test suite contains tests that can be run as stand-alone JUnit tests (JT) - * - * @author Donald G. Dunne - */ -public class AtsImpl_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsImpl_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsImpl_JT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/convert/ConvertTestSuite.java b/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/convert/ConvertTestSuite.java new file mode 100644 index 00000000000..4e0954d715b --- /dev/null +++ b/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/convert/ConvertTestSuite.java @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.impl.internal.convert; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ConvertWorkDefinitionToAtsDslTest.class}) +public class ConvertTestSuite { + // Test Suite +} diff --git a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/model/AtsCore_WorkDef_JT_Suite.java b/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/model/AtsCore_WorkDef_JT_Suite.java deleted file mode 100644 index a01d42c82af..00000000000 --- a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/model/AtsCore_WorkDef_JT_Suite.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.impl.internal.model; - -import org.eclipse.osee.ats.impl.internal.convert.ConvertWorkDefinitionToAtsDslTest; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - ConvertWorkDefinitionToAtsDslTest.class, - ModelUtilTest.class, - WidgetOptionTest.class, - StateDefinitionTest.class, - WorkDefinitionTest.class, - WidgetOptionHandlerTest.class, - WidgetDefinitionTest.class, - PeerReviewDefinitionTest.class, - DecisionReviewOptionTest.class, - DecisionReviewDefinitionTest.class, - AbstractWorkDefItemTest.class, - CompositeStateItemTest.class}) -/** - * This test suite contains tests that can be run as stand-alone JUnit tests (JT) - * - * @author Donald G. Dunne - */ -public class AtsCore_WorkDef_JT_Suite { - @BeforeClass - public static void setUp() throws Exception { - System.out.println("\n\nBegin " + AtsCore_WorkDef_JT_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsCore_WorkDef_JT_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/model/ModelTestSuite.java b/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/model/ModelTestSuite.java new file mode 100644 index 00000000000..77fa287a9d4 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/model/ModelTestSuite.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * 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: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.impl.internal.model; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +/** + * @author Donald G. Dunne + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + AbstractWorkDefItemTest.class, + CompositeStateItemTest.class, + DecisionReviewDefinitionTest.class, + DecisionReviewOptionTest.class, + ModelUtilTest.class, + PeerReviewDefinitionTest.class, + StateDefinitionTest.class, + WorkDefinitionTest.class, + WidgetOptionHandlerTest.class, + WidgetOptionTest.class, + WidgetDefinitionTest.class}) +/** + * + * @author Donald G. Dunne + */ +public class ModelTestSuite { + // Test Suite +} diff --git a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/query/AtsImpl_Query_Suite.java b/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/query/AtsImpl_Query_Suite.java deleted file mode 100644 index 0e40420a52c..00000000000 --- a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/query/AtsImpl_Query_Suite.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.impl.internal.query; - -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({AtsQueryTest.class}) -/** - * This test suite contains tests that can be run as stand-alone JUnit tests (JT) - * - * @author Donald G. Dunne - */ -public class AtsImpl_Query_Suite { - @BeforeClass - public static void setUp() throws Exception { - System.out.println("\n\nBegin " + AtsImpl_Query_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsImpl_Query_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/query/AtsQueryTest.java b/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/query/AtsQueryTest.java deleted file mode 100644 index 5eaa263a0d1..00000000000 --- a/plugins/org.eclipse.osee.ats.impl.test/src/org/eclipse/osee/ats/impl/internal/query/AtsQueryTest.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Created on Oct 9, 2012 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.impl.internal.query; - -import static org.junit.Assert.*; -import org.junit.Test; - -public class AtsQueryTest { - - @Test - public void testAtsQuery() { - fail("Not yet implemented"); - } - - @Test - public void testFrom() { - fail("Not yet implemented"); - } - - @Test - public void testIsOfType() { - fail("Not yet implemented"); - } - - @Test - public void testUnion() { - fail("Not yet implemented"); - } - - @Test - public void testFromTeam() { - fail("Not yet implemented"); - } - - @Test - public void testIsStateType() { - fail("Not yet implemented"); - } - - @Test - public void testGetItems() { - fail("Not yet implemented"); - } - - @Test - public void testWithOrValue() { - fail("Not yet implemented"); - } - -} diff --git a/plugins/org.eclipse.osee.ats.impl/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.impl/META-INF/MANIFEST.MF index 3c1eb140c31..594cfd05d65 100644 --- a/plugins/org.eclipse.osee.ats.impl/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.ats.impl/META-INF/MANIFEST.MF @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: ATS Implementation +Bundle-Name: ATS Implementation (Incubation) Bundle-SymbolicName: org.eclipse.osee.ats.impl;singleton:=true Bundle-Version: 0.11.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/model/AbstractWorkDefItem.java b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/model/AbstractWorkDefItem.java index cc2b9aff91c..8667af32004 100644 --- a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/model/AbstractWorkDefItem.java +++ b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/model/AbstractWorkDefItem.java @@ -42,4 +42,5 @@ public class AbstractWorkDefItem { public String toString() { return getName(); } + } diff --git a/plugins/org.eclipse.osee.ats.parent/pom.xml b/plugins/org.eclipse.osee.ats.parent/pom.xml index bc7cfe1e1e1..f6a24464838 100644 --- a/plugins/org.eclipse.osee.ats.parent/pom.xml +++ b/plugins/org.eclipse.osee.ats.parent/pom.xml @@ -9,7 +9,7 @@ 0.11.0-SNAPSHOT ../../plugins/org.eclipse.osee.ide.parent - + org.eclipse.osee org.eclipse.osee.ats.parent pom @@ -17,20 +17,26 @@ 0.11.0-SNAPSHOT - ../../plugins/org.eclipse.osee.ats.mocks + ../../plugins/org.eclipse.osee.support.test.util + + ../../plugins/org.eclipse.osee.ats.mocks ../../plugins/org.eclipse.osee.ats.help.ui ../../plugins/org.eclipse.osee.ats ../../plugins/org.eclipse.osee.ats.core + ../../plugins/org.eclipse.osee.ats.core.test ../../plugins/org.eclipse.osee.ats.core.client + ../../plugins/org.eclipse.osee.ats.core.client.test ../../plugins/org.eclipse.osee.ats.dsl - ../../plugins/org.eclipse.osee.ats.dsl.ui + ../../plugins/org.eclipse.osee.ats.dsl.ui ../../plugins/org.eclipse.osee.ats.impl - ../../plugins/org.eclipse.osee.ats.client.demo + ../../plugins/org.eclipse.osee.ats.impl.test - ../../plugins/org.eclipse.osee.ats.reports - ../../plugins/org.eclipse.osee.ats.reports.burndown - ../../plugins/org.eclipse.osee.ats.reports.efficiency - ../../plugins/org.eclipse.osee.ats.reports.split + ../../plugins/org.eclipse.osee.ats.reports + ../../plugins/org.eclipse.osee.ats.reports.burndown + ../../plugins/org.eclipse.osee.ats.reports.efficiency + ../../plugins/org.eclipse.osee.ats.reports.split + + ../../plugins/org.eclipse.osee.ats.client.demo ../../features/org.eclipse.osee.ats.feature ../../features/org.eclipse.osee.ats.feature.source @@ -38,6 +44,8 @@ ../../features/org.eclipse.osee.ats.client.demo.feature ../../features/org.eclipse.osee.ats.client.demo.feature.source + ../../plugins/org.eclipse.osee.ats.client.integration.tests + ../../plugins/org.eclipse.osee.ats.p2 diff --git a/plugins/org.eclipse.osee.ats.test/.classpath b/plugins/org.eclipse.osee.ats.test/.classpath deleted file mode 100644 index ad32c83a788..00000000000 --- a/plugins/org.eclipse.osee.ats.test/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/plugins/org.eclipse.osee.ats.test/.pmd b/plugins/org.eclipse.osee.ats.test/.pmd deleted file mode 100644 index c7b0a9fb3f5..00000000000 --- a/plugins/org.eclipse.osee.ats.test/.pmd +++ /dev/null @@ -1,925 +0,0 @@ - - - false - .ruleset - - - LooseCoupling - Type Resolution Rules - - - CloneMethodMustImplementCloneable - Type Resolution Rules - - - UnusedImports - Type Resolution Rules - - - SignatureDeclareThrowsException - Type Resolution Rules - - - IfStmtsMustUseBraces - Braces Rules - - - WhileLoopsMustUseBraces - Braces Rules - - - IfElseStmtsMustUseBraces - Braces Rules - - - ForLoopsMustUseBraces - Braces Rules - - - UseSingleton - Design Rules - - - SimplifyBooleanReturns - Design Rules - - - SimplifyBooleanExpressions - Design Rules - - - SwitchStmtsShouldHaveDefault - Design Rules - - - AvoidDeeplyNestedIfStmts - Design Rules - - - AvoidReassigningParameters - Design Rules - - - SwitchDensity - Design Rules - - - ConstructorCallsOverridableMethod - Design Rules - - - AccessorClassGeneration - Design Rules - - - FinalFieldCouldBeStatic - Design Rules - - - CloseResource - Design Rules - - - NonStaticInitializer - Design Rules - - - DefaultLabelNotLastInSwitchStmt - Design Rules - - - NonCaseLabelInSwitchStatement - Design Rules - - - OptimizableToArrayCall - Design Rules - - - BadComparison - Design Rules - - - EqualsNull - Design Rules - - - ConfusingTernary - Design Rules - - - InstantiationToGetClass - Design Rules - - - IdempotentOperations - Design Rules - - - SimpleDateFormatNeedsLocale - Design Rules - - - ImmutableField - Design Rules - - - UseLocaleWithCaseConversions - Design Rules - - - AvoidProtectedFieldInFinalClass - Design Rules - - - AssignmentToNonFinalStatic - Design Rules - - - MissingStaticMethodInNonInstantiatableClass - Design Rules - - - AvoidSynchronizedAtMethodLevel - Design Rules - - - MissingBreakInSwitch - Design Rules - - - UseNotifyAllInsteadOfNotify - Design Rules - - - AvoidInstanceofChecksInCatchClause - Design Rules - - - AbstractClassWithoutAbstractMethod - Design Rules - - - SimplifyConditional - Design Rules - - - CompareObjectsWithEquals - Design Rules - - - PositionLiteralsFirstInComparisons - Design Rules - - - UnnecessaryLocalBeforeReturn - Design Rules - - - NonThreadSafeSingleton - Design Rules - - - UncommentedEmptyMethod - Design Rules - - - UncommentedEmptyConstructor - Design Rules - - - AvoidConstantsInterface - Design Rules - - - UnsynchronizedStaticDateFormatter - Design Rules - - - PreserveStackTrace - Design Rules - - - UseCollectionIsEmpty - Design Rules - - - ClassWithOnlyPrivateConstructorsShouldBeFinal - Design Rules - - - EmptyMethodInAbstractClassShouldBeAbstract - Design Rules - - - SingularField - Design Rules - - - ReturnEmptyArrayRatherThanNull - Design Rules - - - AbstractClassWithoutAnyMethod - Design Rules - - - TooFewBranchesForASwitchStatement - Design Rules - - - AvoidCatchingThrowable - Strict Exception Rules - - - SignatureDeclareThrowsException - Type Resolution Rules - - - ExceptionAsFlowControl - Strict Exception Rules - - - AvoidCatchingNPE - Strict Exception Rules - - - AvoidThrowingRawExceptionTypes - Strict Exception Rules - - - AvoidThrowingNullPointerException - Strict Exception Rules - - - AvoidRethrowingException - Strict Exception Rules - - - DoNotExtendJavaLangError - Strict Exception Rules - - - DoNotThrowExceptionInFinally - Strict Exception Rules - - - AvoidThrowingNewInstanceOfSameException - Strict Exception Rules - - - UnusedPrivateField - Unused Code Rules - - - UnusedLocalVariable - Unused Code Rules - - - UnusedPrivateMethod - Unused Code Rules - - - UnusedFormalParameter - Unused Code Rules - - - MoreThanOneLogger - Java Logging Rules - - - LoggerIsNotStaticFinal - Java Logging Rules - - - SystemPrintln - Java Logging Rules - - - AvoidPrintStackTrace - Java Logging Rules - - - AvoidDuplicateLiterals - String and StringBuffer Rules - - - StringInstantiation - String and StringBuffer Rules - - - StringToString - String and StringBuffer Rules - - - InefficientStringBuffering - String and StringBuffer Rules - - - UnnecessaryCaseChange - String and StringBuffer Rules - - - UseStringBufferLength - String and StringBuffer Rules - - - AppendCharacterWithChar - String and StringBuffer Rules - - - ConsecutiveLiteralAppends - String and StringBuffer Rules - - - UseIndexOfChar - String and StringBuffer Rules - - - InefficientEmptyStringCheck - String and StringBuffer Rules - - - InsufficientStringBufferDeclaration - String and StringBuffer Rules - - - UselessStringValueOf - String and StringBuffer Rules - - - StringBufferInstantiationWithChar - String and StringBuffer Rules - - - UseEqualsToCompareStrings - String and StringBuffer Rules - - - AvoidStringBufferField - String and StringBuffer Rules - - - ReplaceVectorWithList - Migration Rules - - - ReplaceHashtableWithMap - Migration Rules - - - ReplaceEnumerationWithIterator - Migration Rules - - - AvoidEnumAsIdentifier - Migration Rules - - - AvoidAssertAsIdentifier - Migration Rules - - - IntegerInstantiation - Migration Rules - - - ByteInstantiation - Migration Rules - - - ShortInstantiation - Migration Rules - - - LongInstantiation - Migration Rules - - - JUnit4TestShouldUseBeforeAnnotation - Migration Rules - - - JUnit4TestShouldUseAfterAnnotation - Migration Rules - - - JUnit4TestShouldUseTestAnnotation - Migration Rules - - - JUnit4SuitesShouldUseSuiteAnnotation - Migration Rules - - - JUnitUseExpected - Migration Rules - - - UseProperClassLoader - J2EE Rules - - - MDBAndSessionBeanNamingConvention - J2EE Rules - - - RemoteSessionInterfaceNamingConvention - J2EE Rules - - - LocalInterfaceSessionNamingConvention - J2EE Rules - - - LocalHomeNamingConvention - J2EE Rules - - - RemoteInterfaceNamingConvention - J2EE Rules - - - DoNotCallSystemExit - J2EE Rules - - - StaticEJBFieldShouldBeFinal - J2EE Rules - - - DoNotUseThreads - J2EE Rules - - - AvoidInstantiatingObjectsInLoops - Optimization Rules - - - UseArrayListInsteadOfVector - Optimization Rules - - - SimplifyStartsWith - Optimization Rules - - - UseStringBufferForStringAppends - Optimization Rules - - - UseArraysAsList - Optimization Rules - - - AvoidArrayLoops - Optimization Rules - - - UnnecessaryWrapperObjectCreation - Optimization Rules - - - AddEmptyString - Optimization Rules - - - EmptyCatchBlock - Basic Rules - - - EmptyIfStmt - Basic Rules - - - EmptyWhileStmt - Basic Rules - - - EmptyTryBlock - Basic Rules - - - EmptyFinallyBlock - Basic Rules - - - EmptySwitchStatements - Basic Rules - - - JumbledIncrementer - Basic Rules - - - ForLoopShouldBeWhileLoop - Basic Rules - - - UnnecessaryConversionTemporary - Basic Rules - - - OverrideBothEqualsAndHashcode - Basic Rules - - - DoubleCheckedLocking - Basic Rules - - - ReturnFromFinallyBlock - Basic Rules - - - EmptySynchronizedBlock - Basic Rules - - - UnnecessaryReturn - Basic Rules - - - EmptyStaticInitializer - Basic Rules - - - UnconditionalIfStatement - Basic Rules - - - EmptyStatementNotInLoop - Basic Rules - - - BooleanInstantiation - Basic Rules - - - UnnecessaryFinalModifier - Basic Rules - - - CollapsibleIfStatements - Basic Rules - - - UselessOverridingMethod - Basic Rules - - - ClassCastExceptionWithToArray - Basic Rules - - - AvoidDecimalLiteralsInBigDecimalConstructor - Basic Rules - - - UselessOperationOnImmutable - Basic Rules - - - MisplacedNullCheck - Basic Rules - - - UnusedNullCheckInEquals - Basic Rules - - - AvoidThreadGroup - Basic Rules - - - BrokenNullCheck - Basic Rules - - - BigIntegerInstantiation - Basic Rules - - - AvoidUsingOctalValues - Basic Rules - - - AvoidUsingHardCodedIP - Basic Rules - - - CheckResultSet - Basic Rules - - - AvoidMultipleUnaryOperators - Basic Rules - - - EmptyInitializer - Basic Rules - - - MethodReturnsInternalArray - Security Code Guidelines - - - ArrayIsStoredDirectly - Security Code Guidelines - - - CouplingBetweenObjects - Coupling Rules - - - ExcessiveImports - Coupling Rules - - - LooseCoupling - Type Resolution Rules - - - DuplicateImports - Import Statement Rules - - - DontImportJavaLang - Import Statement Rules - - - UnusedImports - Type Resolution Rules - - - ImportFromSamePackage - Import Statement Rules - - - TooManyStaticImports - Import Statement Rules - - - JUnitStaticSuite - JUnit Rules - - - JUnitSpelling - JUnit Rules - - - JUnitAssertionsShouldIncludeMessage - JUnit Rules - - - JUnitTestsShouldIncludeAssert - JUnit Rules - - - TestClassWithoutTestCases - JUnit Rules - - - UnnecessaryBooleanAssertion - JUnit Rules - - - UseAssertEqualsInsteadOfAssertTrue - JUnit Rules - - - UseAssertSameInsteadOfAssertTrue - JUnit Rules - - - UseAssertNullInsteadOfAssertTrue - JUnit Rules - - - SimplifyBooleanAssertion - JUnit Rules - - - UnnecessaryConstructor - Controversial Rules - - - NullAssignment - Controversial Rules - - - UnusedModifier - Controversial Rules - - - AssignmentInOperand - Controversial Rules - - - AtLeastOneConstructor - Controversial Rules - - - DontImportSun - Controversial Rules - - - SuspiciousOctalEscape - Controversial Rules - - - CallSuperInConstructor - Controversial Rules - - - UnnecessaryParentheses - Controversial Rules - - - DefaultPackage - Controversial Rules - - - BooleanInversion - Controversial Rules - - - DataflowAnomalyAnalysis - Controversial Rules - - - AvoidFinalLocalVariable - Controversial Rules - - - AvoidUsingShortType - Controversial Rules - - - AvoidUsingVolatile - Controversial Rules - - - AvoidUsingNativeCode - Controversial Rules - - - AvoidAccessibilityAlteration - Controversial Rules - - - DoNotCallGarbageCollectionExplicitly - Controversial Rules - - - MethodNamingConventions - Naming Rules - - - ClassNamingConventions - Naming Rules - - - AbstractNaming - Naming Rules - - - AvoidDollarSigns - Naming Rules - - - MethodWithSameNameAsEnclosingClass - Naming Rules - - - SuspiciousHashcodeMethodName - Naming Rules - - - SuspiciousConstantFieldName - Naming Rules - - - SuspiciousEqualsMethodName - Naming Rules - - - AvoidFieldNameMatchingTypeName - Naming Rules - - - AvoidFieldNameMatchingMethodName - Naming Rules - - - NoPackage - Naming Rules - - - PackageCase - Naming Rules - - - MisleadingVariableName - Naming Rules - - - BooleanGetMethodName - Naming Rules - - - NPathComplexity - Code Size Rules - - - ExcessiveMethodLength - Code Size Rules - - - ExcessiveParameterList - Code Size Rules - - - ExcessiveClassLength - Code Size Rules - - - CyclomaticComplexity - Code Size Rules - - - ExcessivePublicCount - Code Size Rules - - - TooManyFields - Code Size Rules - - - NcssMethodCount - Code Size Rules - - - NcssTypeCount - Code Size Rules - - - NcssConstructorCount - Code Size Rules - - - TooManyMethods - Code Size Rules - - - EmptyFinalizer - Finalizer Rules - - - FinalizeOnlyCallsSuperFinalize - Finalizer Rules - - - FinalizeOverloaded - Finalizer Rules - - - FinalizeDoesNotCallSuperFinalize - Finalizer Rules - - - FinalizeShouldBeProtected - Finalizer Rules - - - AvoidCallingFinalize - Finalizer Rules - - - UseCorrectExceptionLogging - Jakarta Commons Logging Rules - - - ProperLogger - Jakarta Commons Logging Rules - - - MissingSerialVersionUID - JavaBean Rules - - - ProperCloneImplementation - Clone Implementation Rules - - - CloneThrowsCloneNotSupportedException - Clone Implementation Rules - - - CloneMethodMustImplementCloneable - Type Resolution Rules - - - false - true - diff --git a/plugins/org.eclipse.osee.ats.test/.project b/plugins/org.eclipse.osee.ats.test/.project deleted file mode 100644 index ab2ea44f594..00000000000 --- a/plugins/org.eclipse.osee.ats.test/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.osee.ats.test - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/plugins/org.eclipse.osee.ats.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.test/META-INF/MANIFEST.MF deleted file mode 100644 index 70a33858130..00000000000 --- a/plugins/org.eclipse.osee.ats.test/META-INF/MANIFEST.MF +++ /dev/null @@ -1,27 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: ATS Test Fragment -Bundle-SymbolicName: org.eclipse.osee.ats.test;singleton:=true -Bundle-Version: 0.11.0.qualifier -Bundle-Vendor: Eclipse Open System Engineering Environment -Fragment-Host: org.eclipse.osee.ats -Require-Bundle: org.junit -Import-Package: org.eclipse.osee.ats.core.client, - org.eclipse.osee.ats.core.model, - org.eclipse.osee.ats.mocks, - org.eclipse.osee.framework.core.client, - org.eclipse.osee.framework.core.model.type, - org.eclipse.osee.support.test.util -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Export-Package: org.eclipse.osee.ats, - org.eclipse.osee.ats.artifact, - org.eclipse.osee.ats.artifact.log, - org.eclipse.osee.ats.artifact.note, - org.eclipse.osee.ats.config, - org.eclipse.osee.ats.editor, - org.eclipse.osee.ats.health, - org.eclipse.osee.ats.navigate, - org.eclipse.osee.ats.render, - org.eclipse.osee.ats.util, - org.eclipse.osee.ats.workflow, - org.eclipse.osee.ats.world.search diff --git a/plugins/org.eclipse.osee.ats.test/build.properties b/plugins/org.eclipse.osee.ats.test/build.properties deleted file mode 100644 index 34d2e4d2dad..00000000000 --- a/plugins/org.eclipse.osee.ats.test/build.properties +++ /dev/null @@ -1,4 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - . diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Access_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Access_Suite.java deleted file mode 100644 index e4202d137d2..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Access_Suite.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats; - -import org.eclipse.osee.ats.access.AtsBranchAccessManagerTest; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({AtsBranchAccessManagerTest.class}) -/** - * @author Donald G. Dunne - */ -public class AtsTest_Demo_Access_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsTest_Demo_Access_Suite.class.getSimpleName()); - DemoTestUtil.setUpTest(); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsTest_Demo_Access_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Column_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Column_Suite.java deleted file mode 100644 index a23ce192464..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Column_Suite.java +++ /dev/null @@ -1,85 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats; - -import static org.junit.Assert.assertTrue; -import org.eclipse.osee.ats.column.ActionableItemsColumnTest; -import org.eclipse.osee.ats.column.BranchStatusColumnTest; -import org.eclipse.osee.ats.column.CancelledDateColumnTest; -import org.eclipse.osee.ats.column.CategoryColumnTest; -import org.eclipse.osee.ats.column.ChangeTypeColumnTest; -import org.eclipse.osee.ats.column.CompletedDateColumnTest; -import org.eclipse.osee.ats.column.CreatedDateColumnTest; -import org.eclipse.osee.ats.column.DeadlineColumnTest; -import org.eclipse.osee.ats.column.DescriptionColumnTest; -import org.eclipse.osee.ats.column.EstimatedHoursColumnTest; -import org.eclipse.osee.ats.column.GroupsColumnTest; -import org.eclipse.osee.ats.column.NumberOfTasksAndInWorkTasksColumnsTest; -import org.eclipse.osee.ats.column.OriginatorColumnTest; -import org.eclipse.osee.ats.column.ParentStateAndIdColumnTest; -import org.eclipse.osee.ats.column.PeerToPeerReviewColumnsTest; -import org.eclipse.osee.ats.column.PriorityColumnTest; -import org.eclipse.osee.ats.column.RelatedToStateColumnTest; -import org.eclipse.osee.ats.column.StateColumnTest; -import org.eclipse.osee.ats.column.TargetedVersionColumnTest; -import org.eclipse.osee.ats.column.TeamColumnTest; -import org.eclipse.osee.ats.column.TypeColumnTest; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.client.ClientSessionManager; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - RelatedToStateColumnTest.class, - NumberOfTasksAndInWorkTasksColumnsTest.class, - EstimatedHoursColumnTest.class, - PriorityColumnTest.class, - TargetedVersionColumnTest.class, - TypeColumnTest.class, - TeamColumnTest.class, - ParentStateAndIdColumnTest.class, - StateColumnTest.class, - OriginatorColumnTest.class, - GroupsColumnTest.class, - DescriptionColumnTest.class, - PeerToPeerReviewColumnsTest.class, - ChangeTypeColumnTest.class, - DeadlineColumnTest.class, - CreatedDateColumnTest.class, - ActionableItemsColumnTest.class, - BranchStatusColumnTest.class, - CancelledDateColumnTest.class, - CompletedDateColumnTest.class, - CategoryColumnTest.class,}) -/** - * @author Donald G. Dunne - */ -public class AtsTest_Demo_Column_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - assertTrue("Demo Application Server must be running.", - ClientSessionManager.getAuthenticationProtocols().contains("demo")); - assertTrue("Client must authenticate using demo protocol", - ClientSessionManager.getSession().getAuthenticationProtocol().equals("demo")); - System.out.println("\n\nBegin " + AtsTest_Demo_Column_Suite.class.getSimpleName()); - DemoTestUtil.setUpTest(); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsTest_Demo_Column_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Config_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Config_Suite.java deleted file mode 100644 index 44d21ca0685..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Config_Suite.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats; - -import org.eclipse.osee.ats.config.copy.ConfigDataTest; -import org.eclipse.osee.ats.config.copy.CopyAtsConfigurationOperationTest; -import org.eclipse.osee.ats.config.copy.CopyAtsUtilTest; -import org.eclipse.osee.ats.config.copy.CopyAtsValidationTest; -import org.eclipse.osee.ats.core.client.config.AtsCoreClient_Config_Demo_PT_Suite; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - ConfigDataTest.class, - CopyAtsUtilTest.class, - CopyAtsValidationTest.class, - CopyAtsConfigurationOperationTest.class, - AtsCoreClient_Config_Demo_PT_Suite.class}) -/** - * This test suite contains test that can be run against any production db - * - * @author Donald G. Dunne - */ -public class AtsTest_Demo_Config_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsTest_Demo_Config_Suite.class.getSimpleName()); - DemoTestUtil.setUpTest(); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsTest_Demo_Config_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_StateItem_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_StateItem_Suite.java deleted file mode 100644 index e58d707e51f..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_StateItem_Suite.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats; - -import org.eclipse.osee.ats.editor.stateItem.AtsDecisionReviewDecisionStateItemTest; -import org.eclipse.osee.ats.editor.stateItem.AtsDecisionReviewPrepareStateItemTest; -import org.eclipse.osee.ats.editor.stateItem.AtsForceAssigneesToTeamLeadsStateItemTest; -import org.eclipse.osee.ats.editor.stateItem.AtsPeerToPeerReviewPrepareStateItemTest; -import org.eclipse.osee.ats.editor.stateItem.AtsPeerToPeerReviewReviewStateItemTest; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - AtsForceAssigneesToTeamLeadsStateItemTest.class, - AtsPeerToPeerReviewReviewStateItemTest.class, - AtsPeerToPeerReviewPrepareStateItemTest.class, - AtsDecisionReviewDecisionStateItemTest.class, - AtsDecisionReviewPrepareStateItemTest.class}) -/** - * This test suite contains tests that must be run against demo database - * - * @author Donald G. Dunne - */ -public class AtsTest_Demo_StateItem_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsTest_Demo_StateItem_Suite.class.getSimpleName()); - DemoTestUtil.setUpTest(); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsTest_Demo_StateItem_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Suite.java deleted file mode 100644 index b9886731704..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Suite.java +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats; - -import static org.junit.Assert.assertTrue; -import org.eclipse.osee.ats.actions.AtsTest_Demo_Action_Suite; -import org.eclipse.osee.ats.artifact.log.AtsLogTest; -import org.eclipse.osee.ats.artifact.log.LogItemTest; -import org.eclipse.osee.ats.artifact.note.AtsNoteTest; -import org.eclipse.osee.ats.artifact.note.NoteItemTest; -import org.eclipse.osee.ats.config.AtsBranchConfigurationTest; -import org.eclipse.osee.ats.editor.SMAPrintTest; -import org.eclipse.osee.ats.health.AtsValidateAtsDatabaseTest; -import org.eclipse.osee.ats.navigate.AtsNavigateItemsToMassEditorTest; -import org.eclipse.osee.ats.navigate.AtsNavigateItemsToTaskEditorTest; -import org.eclipse.osee.ats.navigate.AtsNavigateItemsToWorldViewTest; -import org.eclipse.osee.ats.render.RendererManagerTest; -import org.eclipse.osee.ats.util.AtsDeleteManagerTest; -import org.eclipse.osee.ats.util.AtsImageTest; -import org.eclipse.osee.ats.util.AtsXWidgetsExampleBlamTest; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.ats.util.ImportActionsViaSpreadsheetTest; -import org.eclipse.osee.ats.workflow.SMAPromptChangeStatusTest; -import org.eclipse.osee.ats.world.search.AtsTest_Demo_World_Search_Suite; -import org.eclipse.osee.framework.core.client.ClientSessionManager; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - AtsNavigateItemsToMassEditorTest.class, - AtsNavigateItemsToTaskEditorTest.class, - AtsNavigateItemsToWorldViewTest.class, - AtsTest_Demo_World_Search_Suite.class, - AtsBranchConfigurationTest.class, - AtsTest_Demo_Action_Suite.class, - AtsTest_Demo_Access_Suite.class, - ImportActionsViaSpreadsheetTest.class, - AtsTest_Demo_Column_Suite.class, - AtsTest_Demo_Util_Suite.class, - LogItemTest.class, - AtsLogTest.class, - NoteItemTest.class, - AtsNoteTest.class, - RendererManagerTest.class, - SMAPrintTest.class, - AtsImageTest.class, - SMAPromptChangeStatusTest.class, - AtsDeleteManagerTest.class, - AtsValidateAtsDatabaseTest.class, - AtsXWidgetsExampleBlamTest.class, -// AtsPurgeTest.class, -// -}) -/** - * @author Donald G. Dunne - */ -public class AtsTest_Demo_Suite { - - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - assertTrue("Demo Application Server must be running.", - ClientSessionManager.getAuthenticationProtocols().contains("demo")); - assertTrue("Client must authenticate using demo protocol", - ClientSessionManager.getSession().getAuthenticationProtocol().equals("demo")); - System.out.println("\n\nBegin " + AtsTest_Demo_Suite.class.getSimpleName()); - DemoTestUtil.setUpTest(); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsTest_Demo_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Util_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Util_Suite.java deleted file mode 100644 index 510c581a5cc..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Demo_Util_Suite.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats; - -import org.eclipse.osee.ats.util.CreateActionUsingAllActionableItemsTest; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({CreateActionUsingAllActionableItemsTest.class}) -/** - * @author Donald G. Dunne - */ -public class AtsTest_Demo_Util_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsTest_Demo_Util_Suite.class.getSimpleName()); - DemoTestUtil.setUpTest(); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsTest_Demo_Util_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Production_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Production_Suite.java deleted file mode 100644 index c8f26f4903c..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/AtsTest_Production_Suite.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats; - -import org.eclipse.osee.ats.util.AtsImageTest; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({AtsImageTest.class}) -/** - * @author Donald G. Dunne - */ -public class AtsTest_Production_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + Review_Demo_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + Review_Demo_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/Review_Demo_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/Review_Demo_Suite.java deleted file mode 100644 index 555253b8c04..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/Review_Demo_Suite.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats; - -import org.eclipse.osee.ats.review.ReviewNavigateItemsToWorldViewTest; -import org.eclipse.osee.ats.review.ReviewWorldSearchItemDemoTest; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ReviewWorldSearchItemDemoTest.class, ReviewNavigateItemsToWorldViewTest.class}) -/** - * This test suite contains tests that must be run against demo database - * - * @author Donald G. Dunne - */ -public class Review_Demo_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + Review_Demo_Suite.class.getSimpleName()); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + Review_Demo_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/access/AtsBranchAccessManagerTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/access/AtsBranchAccessManagerTest.java deleted file mode 100644 index 305f99d35d7..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/access/AtsBranchAccessManagerTest.java +++ /dev/null @@ -1,222 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.access; - -import java.util.Arrays; -import java.util.logging.Level; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.core.client.branch.AtsBranchManagerCore; -import org.eclipse.osee.ats.core.client.config.store.ActionableItemArtifactStore; -import org.eclipse.osee.ats.core.client.config.store.TeamDefinitionArtifactStore; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.config.ActionableItems; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.data.IAccessContextId; -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.model.Branch; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.event.OseeEventManager; -import org.eclipse.osee.framework.skynet.core.event.OseeEventService; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoActionableItems; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.FrameworkUtil; -import org.osgi.framework.ServiceReference; - -/** - * @author Donald G. Dunne - */ -public class AtsBranchAccessManagerTest { - - private static T getService(Class clazz) { - Bundle bundle = FrameworkUtil.getBundle(AtsBranchAccessManager.class); - Assert.assertNotNull(bundle); - BundleContext context = bundle.getBundleContext(); - Assert.assertNotNull(context); - ServiceReference reference = context.getServiceReference(clazz); - Assert.assertNotNull(reference); - T service = context.getService(reference); - Assert.assertNotNull(service); - return service; - } - - public static OseeEventService getEventService() { - return getService(OseeEventService.class); - } - - /** - * Test method for {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#AtsBranchAccessManager()}. - */ - @Test - public void testAtsBranchAccessManager() { - int numListeners = OseeEventManager.getNumberOfListeners(); - new AtsBranchAccessManager(getEventService()); - Assert.assertEquals(numListeners + 1, OseeEventManager.getNumberOfListeners()); - } - - /** - * Test method for {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#dispose()}. - */ - @Test - public void testDispose() { - AtsBranchAccessManager mgr = new AtsBranchAccessManager(getEventService()); - int numListeners = OseeEventManager.getNumberOfListeners(); - mgr.dispose(); - Assert.assertEquals(numListeners - 1, OseeEventManager.getNumberOfListeners()); - } - - /** - * Test method for - * {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#isApplicable(org.eclipse.osee.framework.core.model.Branch)} - * - * @throws OseeCoreException - */ - @Test - public void testIsApplicable() throws OseeCoreException { - AtsBranchAccessManager mgr = new AtsBranchAccessManager(getEventService()); - Assert.assertFalse(mgr.isApplicable(AtsUtil.getAtsBranch())); - Assert.assertFalse(mgr.isApplicable(DemoSawBuilds.SAW_Bld_1)); - - TeamWorkFlowArtifact teamArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertNotNull(teamArt); - - Branch branch = AtsBranchManagerCore.getWorkingBranch(teamArt); - Assert.assertNotNull(branch); - - Assert.assertTrue(mgr.isApplicable(branch)); - } - - @Before - @After - public void cleanup() throws OseeCoreException { - TeamWorkFlowArtifact teamArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "testGetContextIdArtifact cleanup"); - Artifact teamDefArt = new TeamDefinitionArtifactStore(teamArt.getTeamDefinition()).getArtifact(); - teamDefArt.deleteAttributes(CoreAttributeTypes.AccessContextId); - teamDefArt.persist(transaction); - for (Artifact art : teamDefArt.getRelatedArtifacts(AtsRelationTypes.TeamActionableItem_ActionableItem)) { - art.deleteAttributes(CoreAttributeTypes.AccessContextId); - art.persist(transaction); - } - teamArt.deleteAttributes(CoreAttributeTypes.AccessContextId); - teamArt.persist(transaction); - transaction.execute(); - } - - /** - * Test method for - * {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#getContextId(org.eclipse.osee.framework.skynet.core.artifact.Artifact)} - * {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#getEventFilters()}. - * {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#handleArtifactEvent(org.eclipse.osee.framework.skynet.core.event.model.ArtifactEvent, org.eclipse.osee.framework.skynet.core.event.model.Sender)} - * - * @throws OseeCoreException - */ - @Test - public void testGetContextIdBranch() throws OseeCoreException { - AtsBranchAccessManager mgr = new AtsBranchAccessManager(getEventService()); - TeamWorkFlowArtifact teamArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - - // confirm that no context id returned - Assert.assertEquals(0, mgr.getContextId(teamArt.getWorkingBranch()).size()); - - String teamDefContextId1 = "teamDef.context.1"; - String teamDefContextId2 = "teamDef.context.2"; - Artifact teamDefArt = new TeamDefinitionArtifactStore(teamArt.getTeamDefinition()).getArtifact(); - teamDefArt.setAttributeValues(CoreAttributeTypes.AccessContextId, - Arrays.asList(teamDefContextId1, teamDefContextId2)); - teamDefArt.persist(getClass().getSimpleName()); - - try { - TestUtil.sleep(1000); - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - - Assert.assertEquals(2, mgr.getContextId(teamArt.getWorkingBranch()).size()); - - String aiContextId = "ai.context.1"; - Artifact aiArt = - new ActionableItemArtifactStore(ActionableItems.getActionableItems( - Arrays.asList(DemoActionableItems.SAW_Requirements.getName())).iterator().next()).getArtifact(); - aiArt.setAttributeValues(CoreAttributeTypes.AccessContextId, Arrays.asList(aiContextId)); - aiArt.persist(getClass().getSimpleName()); - - try { - TestUtil.sleep(1000); - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - - Assert.assertEquals(1, mgr.getContextId(teamArt.getWorkingBranch()).size()); - - String teamContextId1 = "team.context.1"; - String teamContextId2 = "team.context.2"; - String teamContextId3 = "team.context.3"; - teamArt.setAttributeValues(CoreAttributeTypes.AccessContextId, - Arrays.asList(teamContextId1, teamContextId2, teamContextId3)); - teamArt.persist(getClass().getSimpleName()); - - try { - TestUtil.sleep(1000); - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - - Assert.assertEquals(3, mgr.getContextId(teamArt.getWorkingBranch()).size()); - - } - - /** - * Test method for {@link org.eclipse.osee.ats.access.AtsBranchAccessManager#convertAccessAttributeToGuid - * - */ - @Test - public void testConvertAccessAttributeToGuid() throws OseeCoreException { - AtsBranchAccessManager mgr = new AtsBranchAccessManager(getEventService()); - TeamWorkFlowArtifact teamArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - - // confirm that no context id returned - Assert.assertEquals(0, mgr.getContextId(teamArt.getWorkingBranch()).size()); - - String teamDefContextId1 = "teamDef.context.1, this is the name"; - Artifact teamDefArt = new TeamDefinitionArtifactStore(teamArt.getTeamDefinition()).getArtifact(); - teamDefArt.setAttributeValues(CoreAttributeTypes.AccessContextId, Arrays.asList(teamDefContextId1)); - teamDefArt.persist(getClass().getSimpleName()); - - try { - TestUtil.sleep(2000); - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - - Assert.assertEquals(1, mgr.getContextId(teamArt.getWorkingBranch()).size()); - IAccessContextId contextId = mgr.getContextId(teamArt.getWorkingBranch()).iterator().next(); - Assert.assertEquals("teamDef.context.1", contextId.getGuid()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionPerspectiveTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionPerspectiveTest.java deleted file mode 100644 index 9459d507789..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionPerspectiveTest.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.eclipse.ui.IWorkbenchWindowActionDelegate; -import org.junit.Test; - -/** - * Abstract for the simplest test case where Action just needs run called - * - * @author Donald G. Dunne - */ -public abstract class AbstractAtsActionPerspectiveTest { - - @Test - public void test() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - IWorkbenchWindowActionDelegate action = getPerspectiveAction(); - action.run(null); - TestUtil.severeLoggingEnd(monitor); - } - - public abstract IWorkbenchWindowActionDelegate getPerspectiveAction(); -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionRunTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionRunTest.java deleted file mode 100644 index 74c9eb57a6d..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionRunTest.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * Abstract for the simplest test case where Action just needs run called - * - * @author Donald G. Dunne - */ -public abstract class AbstractAtsActionRunTest extends AbstractAtsActionTest { - - @Test - public void test() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - Action action = createAction(); - // want the exception to propagate to top if AbstractAtsAction - if (action instanceof AbstractAtsAction) { - ((AbstractAtsAction) action).runWithException(); - } else { - action.run(); - } - TestUtil.severeLoggingEnd(monitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionTest.java deleted file mode 100644 index 6e7b3ca9122..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AbstractAtsActionTest.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Created on Oct 21, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import junit.framework.Assert; -import org.eclipse.jface.action.Action; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.editor.SMAEditor; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Abstract for Action tests that tests getImageDescriptor and calls cleanup before/after class - * - * @author Donald G. Dunne - */ -public abstract class AbstractAtsActionTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws Throwable { - AtsTestUtil.cleanup(); - SMAEditor.closeAll(); - } - - @Test - public void getImageDescriptor() throws Exception { - Action action = createAction(); - Assert.assertNotNull("Image should be specified", action.getImageDescriptor()); - } - - public abstract Action createAction() throws OseeCoreException; -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AccessControlActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AccessControlActionTest.java deleted file mode 100644 index 6823cc6e55a..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AccessControlActionTest.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Created on Oct 21, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import java.util.logging.Level; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.jface.action.Action; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.ui.swt.Displays; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class AccessControlActionTest extends AbstractAtsActionTest { - - @Test - public void testRun() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - final AccessControlAction action = (AccessControlAction) createAction(); - Job job = new Job("Kill dialog") { - - @Override - protected IStatus run(IProgressMonitor monitor) { - try { - Thread.sleep(2000); - } catch (InterruptedException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - Displays.ensureInDisplayThread(new Runnable() { - - @Override - public void run() { - action.getDialog().getShell().close(); - } - }); - return Status.OK_STATUS; - } - }; - job.schedule(); - action.run(); - TestUtil.severeLoggingEnd(monitor); - } - - @Override - public Action createAction() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - return new AccessControlAction(AtsTestUtil.getTeamWf()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AddNoteActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AddNoteActionTest.java deleted file mode 100644 index 692bc650b18..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AddNoteActionTest.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Created on Oct 21, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.ui.swt.IDirtiableEditor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class AddNoteActionTest extends AbstractAtsActionTest { - - @Test - public void testRun() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - AddNoteAction action = (AddNoteAction) createAction(); - action.setEmulateUi(true); - action.runWithException(); - AtsTestUtil.getTeamWf().persist(getClass().getSimpleName()); - TestUtil.severeLoggingEnd(monitor); - } - - @Override - public Action createAction() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - return new AddNoteAction(AtsTestUtil.getTeamWf(), new IDirtiableEditor() { - - @Override - public void onDirtied() { - // do nothing - } - }); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AtsTest_Demo_Action_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AtsTest_Demo_Action_Suite.java deleted file mode 100644 index 95c3dc9ee7d..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/AtsTest_Demo_Action_Suite.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - AccessControlActionTest.class, - AddNoteActionTest.class, - CopyActionDetailsActionTest.class, - DeletePurgeAtsArtifactsActionTest.class, - DirtyReportActionTest.class, - DirtyReportActionTest2.class, - DuplicateWorkflowActionTest.class, - DuplicateWorkflowViaWorldEditorActionTest.class, - FavoriteActionTest.class, - ImportTasksViaSimpleListTest.class, - ImportTasksViaSpreadsheetTest.class, - MyFavoritesActionTest.class, - MyWorldActionTest.class, - NewGoalTest.class, - OpenAtsPerspectiveActionTest.class, - OpenChangeReportByIdActionTest.class, - OpenInArtifactEditorActionTest.class, - OpenInAtsWorkflowEditorActionTest.class, - OpenInSkyWalkerActionTest.class, - OpenInAtsWorldActionTest.class, - OpenInAtsWorldActionTest2.class, - OpenInAtsWorldActionTest3.class, - OpenNewAtsTaskEditorActionTest.class, - OpenNewAtsWorldEditorActionTest.class, - OpenNewAtsTaskEditorSelectedTest.class, - OpenNewAtsWorldEditorSelectedActionTest.class, - OpenParentActionTest.class, - OpenReviewPerspectiveActionTest.class, - OpenWorkflowByIdActionTest.class, - OpenWorldByIdActionTest.class, - RefreshDirtyActionTest.class, - ReloadActionTest.class, - ResourceHistoryActionTest.class, - ShowBranchChangeDataActionTest.class, - ShowChangeReportActionTest.class, - ShowMergeManagerActionTest.class, - ShowWorkDefinitionActionTest.class, - SubscribedActionTest.class, - TaskAddActionTest.class,}) -/** - * @author Donald G. Dunne - */ -public class AtsTest_Demo_Action_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - System.out.println("\n\nBegin " + AtsTest_Demo_Action_Suite.class.getSimpleName()); - DemoTestUtil.setUpTest(); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsTest_Demo_Action_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/CopyActionDetailsActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/CopyActionDetailsActionTest.java deleted file mode 100644 index a1a78211f8c..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/CopyActionDetailsActionTest.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Created on Oct 21, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; - -/** - * @author Donald G. Dunne - */ -public class CopyActionDetailsActionTest extends AbstractAtsActionRunTest { - - @Override - public CopyActionDetailsAction createAction() throws OseeCoreException { - return new CopyActionDetailsAction(AtsTestUtil.getTeamWf()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DeletePurgeAtsArtifactsActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DeletePurgeAtsArtifactsActionTest.java deleted file mode 100644 index c67972fe598..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DeletePurgeAtsArtifactsActionTest.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Created on Oct 21, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class DeletePurgeAtsArtifactsActionTest extends AbstractAtsActionTest { - - @Test - public void testRun() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - DeletePurgeAtsArtifactsAction action = createAction(); - action.setPrompt(false); - action.runWithException(); - TestUtil.severeLoggingEnd(monitor); - } - - @Override - public DeletePurgeAtsArtifactsAction createAction() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - return new DeletePurgeAtsArtifactsAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf(), true); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DirtyReportActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DirtyReportActionTest.java deleted file mode 100644 index ec0874a16d5..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DirtyReportActionTest.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeStateException; -import org.eclipse.osee.framework.core.util.Result; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class DirtyReportActionTest extends AbstractAtsActionTest { - - @Test(expected = OseeStateException.class) - public void test() throws Exception { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - DirtyReportAction action = createAction(); - action.runWithException(); - } - - @Override - public DirtyReportAction createAction() { - return new DirtyReportAction(new IDirtyReportable() { - @Override - public Result isDirtyResult() { - return new Result("Hello World"); - } - }); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DirtyReportActionTest2.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DirtyReportActionTest2.java deleted file mode 100644 index 81a1eb5a05a..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DirtyReportActionTest2.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeStateException; -import org.eclipse.osee.framework.core.util.Result; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class DirtyReportActionTest2 extends AbstractAtsActionTest { - - @Test(expected = OseeStateException.class) - public void test() throws Exception { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - DirtyReportAction action = createAction(); - action.runWithException(); - } - - @Override - public DirtyReportAction createAction() { - return new DirtyReportAction(new IDirtyReportable() { - @Override - public Result isDirtyResult() { - return Result.TrueResult; - } - }); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DuplicateWorkflowActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DuplicateWorkflowActionTest.java deleted file mode 100644 index 2bd5c6d3d7e..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DuplicateWorkflowActionTest.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import java.util.Collections; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; - -/** - * @author Donald G. Dunne - */ -public class DuplicateWorkflowActionTest extends AbstractAtsActionRunTest { - - @Override - public DuplicateWorkflowAction createAction() throws OseeCoreException { - return new DuplicateWorkflowAction(Collections.singleton(AtsTestUtil.getTeamWf())); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DuplicateWorkflowViaWorldEditorActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DuplicateWorkflowViaWorldEditorActionTest.java deleted file mode 100644 index 5c6e87d4d07..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/DuplicateWorkflowViaWorldEditorActionTest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.actions.SelectedAtsArtifactsAdapter; -import org.eclipse.osee.framework.core.exception.OseeArgumentException; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class DuplicateWorkflowViaWorldEditorActionTest extends AbstractAtsActionRunTest { - - @Override - public Action createAction() { - return new DuplicateWorkflowViaWorldEditorAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf()); - } - - @Test(expected = OseeArgumentException.class) - public void testException() throws OseeCoreException { - DuplicateWorkflowViaWorldEditorAction action = - new DuplicateWorkflowViaWorldEditorAction(new SelectedAtsArtifactsAdapter()); - action.runWithException(); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/FavoriteActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/FavoriteActionTest.java deleted file mode 100644 index c33503e36ca..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/FavoriteActionTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Created on Oct 23, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class FavoriteActionTest extends AbstractAtsActionTest { - - @Test - public void test() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - Assert.assertFalse(AtsUsersClient.getOseeUser().getRelatedArtifacts(AtsRelationTypes.FavoriteUser_Artifact).contains( - AtsTestUtil.getTeamWf())); - FavoriteAction action = createAction(); - action.runWithException(); - Assert.assertTrue(AtsUsersClient.getOseeUser().getRelatedArtifacts(AtsRelationTypes.FavoriteUser_Artifact).contains( - AtsTestUtil.getTeamWf())); - TestUtil.severeLoggingEnd(monitor); - } - - @Override - public FavoriteAction createAction() { - FavoriteAction action = new FavoriteAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf()); - action.setPrompt(false); - return action; - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ImportTasksViaSimpleListTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ImportTasksViaSimpleListTest.java deleted file mode 100644 index 99d9c7cbb0f..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ImportTasksViaSimpleListTest.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class ImportTasksViaSimpleListTest { - - @Test - public void test() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - ImportTasksViaSimpleList action = new ImportTasksViaSimpleList(AtsTestUtil.getTeamWf(), new ImportListener() { - - @Override - public void importCompleted() { - System.out.println(" "); - } - - }); - action.runWithException(); - AtsTestUtil.cleanup(); - TestUtil.severeLoggingEnd(monitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ImportTasksViaSpreadsheetTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ImportTasksViaSpreadsheetTest.java deleted file mode 100644 index 7010b1a34b1..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ImportTasksViaSpreadsheetTest.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class ImportTasksViaSpreadsheetTest { - - @Test - public void test() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - ImportTasksViaSpreadsheet action = new ImportTasksViaSpreadsheet(AtsTestUtil.getTeamWf(), new ImportListener() { - - @Override - public void importCompleted() { - System.out.println(" "); - } - - }); - action.runWithException(); - AtsTestUtil.cleanup(); - TestUtil.severeLoggingEnd(monitor); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/MyFavoritesActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/MyFavoritesActionTest.java deleted file mode 100644 index dd012d5c490..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/MyFavoritesActionTest.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class MyFavoritesActionTest extends AbstractAtsActionTest { - - @Test - public void test() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - MyFavoritesAction action = new MyFavoritesAction(); - action.runWithException(); - TestUtil.severeLoggingEnd(monitor); - } - - @Override - public MyFavoritesAction createAction() { - return new MyFavoritesAction(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/MyWorldActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/MyWorldActionTest.java deleted file mode 100644 index 445a9952a8d..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/MyWorldActionTest.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class MyWorldActionTest extends AbstractAtsActionTest { - - @Test - public void test() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - MyWorldAction action = new MyWorldAction(); - action.runWithException(); - TestUtil.severeLoggingEnd(monitor); - } - - @Override - public MyWorldAction createAction() { - return new MyWorldAction(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/NewGoalTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/NewGoalTest.java deleted file mode 100644 index 14c22224208..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/NewGoalTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.framework.core.enums.DeletionFlag; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.junit.AfterClass; -import org.junit.BeforeClass; - -/** - * @author Donald G. Dunne - */ -public class NewGoalTest extends AbstractAtsActionRunTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws OseeCoreException { - SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), NewGoalTest.class.getSimpleName()); - for (Artifact art : ArtifactQuery.getArtifactListFromName(NewGoalTest.class.getSimpleName(), - AtsUtil.getAtsBranchToken(), DeletionFlag.EXCLUDE_DELETED)) { - art.deleteAndPersist(transaction); - } - transaction.execute(); - } - - @Override - public NewGoal createAction() { - NewGoal action = new NewGoal(); - action.setTitleOverride(getClass().getSimpleName()); - return action; - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenAtsPerspectiveActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenAtsPerspectiveActionTest.java deleted file mode 100644 index e6e0cbc4750..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenAtsPerspectiveActionTest.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Created on Oct 23, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.ui.IWorkbenchWindowActionDelegate; - -/** - * @author Donald G. Dunne - */ -public class OpenAtsPerspectiveActionTest extends AbstractAtsActionPerspectiveTest { - - @Override - public IWorkbenchWindowActionDelegate getPerspectiveAction() { - return new OpenAtsPerspectiveAction(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenChangeReportByIdActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenChangeReportByIdActionTest.java deleted file mode 100644 index 04f7be2f47d..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenChangeReportByIdActionTest.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import junit.framework.Assert; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class OpenChangeReportByIdActionTest extends AbstractAtsActionRunTest { - - @Override - public OpenChangeReportByIdAction createAction() throws OseeCoreException { - - Result result = AtsTestUtil.createWorkingBranchFromTeamWf(); - Assert.assertTrue(result.getText(), result.isTrue()); - - OpenChangeReportByIdAction action = new OpenChangeReportByIdAction(); - action.setOverrideId(AtsTestUtil.getTeamWf().getHumanReadableId()); - action.setPend(true); - return action; - } - - @Override - @Test - public void getImageDescriptor() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - OpenChangeReportByIdAction action = new OpenChangeReportByIdAction(); - Assert.assertNotNull("Image should be specified", action.getImageDescriptor()); - TestUtil.severeLoggingEnd(monitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInArtifactEditorActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInArtifactEditorActionTest.java deleted file mode 100644 index 59f307bd73c..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInArtifactEditorActionTest.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; - - -/** - * @author Donald G. Dunne - */ -public class OpenInArtifactEditorActionTest extends AbstractAtsActionRunTest { - - @Override - public OpenInArtifactEditorAction createAction() { - return new OpenInArtifactEditorAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorkflowEditorActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorkflowEditorActionTest.java deleted file mode 100644 index 0dd14f225d5..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorkflowEditorActionTest.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.editor.SMAEditor; -import org.junit.After; - -/** - * @author Donald G. Dunne - */ -public class OpenInAtsWorkflowEditorActionTest extends AbstractAtsActionRunTest { - - @Override - public OpenInAtsWorkflowEditorAction createAction() { - return new OpenInAtsWorkflowEditorAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf()); - } - - @After - public void closeEditors() { - SMAEditor.closeAll(); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest.java deleted file mode 100644 index 4f4529a15cc..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.exception.OseeStateException; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class OpenInAtsWorldActionTest extends AbstractAtsActionRunTest { - - @Override - public OpenInAtsWorldAction createAction() throws OseeCoreException { - return new OpenInAtsWorldAction(AtsTestUtil.getTeamWf()); - } - - @Test(expected = OseeStateException.class) - public void testNoParentAction() throws OseeCoreException { - AtsTestUtil.getTeamWf().deleteRelations(AtsRelationTypes.ActionToWorkflow_Action); - AtsTestUtil.getTeamWf().persist(getClass().getSimpleName()); - - OpenInAtsWorldAction action = createAction(); - action.runWithException(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest2.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest2.java deleted file mode 100644 index 4779098ffa3..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest2.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; - -/** - * @author Donald G. Dunne - */ -public class OpenInAtsWorldActionTest2 extends AbstractAtsActionRunTest { - - @Override - public OpenInAtsWorldAction createAction() throws OseeCoreException { - return new OpenInAtsWorldAction(AtsTestUtil.getOrCreateTaskOffTeamWf1()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest3.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest3.java deleted file mode 100644 index 791b2d4491e..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInAtsWorldActionTest3.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.exception.OseeStateException; -import org.junit.Test; - -/** - * Test case where no parent action - * - * @author Donald G. Dunne - */ -public class OpenInAtsWorldActionTest3 extends AbstractAtsActionRunTest { - - @Override - @Test(expected = OseeStateException.class) - public void test() throws Exception { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - OpenInAtsWorldAction action = createAction(); - action.runWithException(); - } - - @Override - public OpenInAtsWorldAction createAction() throws OseeCoreException { - AtsTestUtil.getTeamWf().deleteRelations(AtsRelationTypes.ActionToWorkflow_Action); - AtsTestUtil.getTeamWf().persist(getClass().getSimpleName()); - return new OpenInAtsWorldAction(AtsTestUtil.getTeamWf()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInSkyWalkerActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInSkyWalkerActionTest.java deleted file mode 100644 index f81d4eafbcb..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenInSkyWalkerActionTest.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; - -/** - * @author Donald G. Dunne - */ -public class OpenInSkyWalkerActionTest extends AbstractAtsActionRunTest { - - @Override - public OpenInSkyWalkerAction createAction() throws OseeCoreException { - return new OpenInSkyWalkerAction(AtsTestUtil.getTeamWf()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorActionTest.java deleted file mode 100644 index c9873fd2186..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorActionTest.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import java.util.Collection; -import java.util.Collections; -import org.eclipse.jface.action.Action; -import org.eclipse.nebula.widgets.xviewer.customize.CustomizeData; -import org.eclipse.osee.ats.actions.OpenNewAtsTaskEditorAction.IOpenNewAtsTaskEditorHandler; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.task.ITaskEditorProvider; -import org.eclipse.osee.ats.world.search.WorldSearchItem.SearchType; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; - -/** - * @author Donald G. Dunne - */ -public class OpenNewAtsTaskEditorActionTest extends AbstractAtsActionRunTest { - - @Override - public Action createAction() { - return new OpenNewAtsTaskEditorAction(new IOpenNewAtsTaskEditorHandler() { - - @Override - public ITaskEditorProvider getTaskEditorProviderCopy() { - return new ITaskEditorProvider() { - - @Override - public void setTableLoadOptions(TableLoadOption... tableLoadOptions) { - // do nothing - } - - @Override - public void setCustomizeData(CustomizeData customizeData) { - // do nothing - } - - @Override - public Collection getTaskEditorTaskArtifacts() throws OseeCoreException { - return Collections.singleton(AtsTestUtil.getOrCreateTaskOffTeamWf1()); - } - - @Override - public String getTaskEditorLabel(SearchType searchType) { - return "Tasks"; - } - - @Override - public Collection getTableLoadOptions() { - return Collections.singleton(TableLoadOption.NoUI); - } - - @Override - public String getName() { - return "Tasks"; - } - - @Override - public ITaskEditorProvider copyProvider() { - return null; - } - }; - } - - @Override - public CustomizeData getCustomizeDataCopy() { - return null; - } - }); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorSelectedTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorSelectedTest.java deleted file mode 100644 index 09bdcb6a97e..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsTaskEditorSelectedTest.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import java.util.Arrays; -import java.util.List; -import org.eclipse.nebula.widgets.xviewer.customize.CustomizeData; -import org.eclipse.osee.ats.actions.OpenNewAtsTaskEditorSelected.IOpenNewAtsTaskEditorSelectedHandler; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; - -/** - * @author Donald G. Dunne - */ -public class OpenNewAtsTaskEditorSelectedTest extends AbstractAtsActionRunTest { - - @Override - public OpenNewAtsTaskEditorSelected createAction() { - return new OpenNewAtsTaskEditorSelected(new IOpenNewAtsTaskEditorSelectedHandler() { - - @Override - public List getSelectedArtifacts() throws OseeCoreException { - return Arrays.asList(AtsTestUtil.getTeamWf()); - } - - @Override - public CustomizeData getCustomizeDataCopy() { - return null; - } - }); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorActionTest.java deleted file mode 100644 index 1df97298cd6..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorActionTest.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.nebula.widgets.xviewer.customize.CustomizeData; -import org.eclipse.osee.ats.actions.OpenNewAtsWorldEditorAction.IOpenNewAtsWorldEditorHandler; -import org.eclipse.osee.ats.api.version.IAtsVersion; -import org.eclipse.osee.ats.world.IWorldEditorProvider; -import org.eclipse.osee.ats.world.WorldEditor; -import org.eclipse.osee.ats.world.search.WorldSearchItem.SearchType; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; - -/** - * @author Donald G. Dunne - */ -public class OpenNewAtsWorldEditorActionTest extends AbstractAtsActionRunTest { - - @Override - public OpenNewAtsWorldEditorAction createAction() { - return new OpenNewAtsWorldEditorAction(new IOpenNewAtsWorldEditorHandler() { - - @Override - public IWorldEditorProvider getWorldEditorProviderCopy() { - return new IWorldEditorProvider() { - - @Override - public void setTableLoadOptions(TableLoadOption... tableLoadOptions) { - // do nothing - } - - @Override - public void setCustomizeData(CustomizeData customizeData) { - // do nothing - } - - @Override - public void run(WorldEditor worldEditor, SearchType searchType, boolean forcePend) { - // do nothing - } - - @Override - public IAtsVersion getTargetedVersionArtifact() { - return null; - } - - @Override - public String getSelectedName(SearchType searchType) { - return "Open"; - } - - @Override - public String getName() { - return "Open"; - } - - @Override - public IWorldEditorProvider copyProvider() { - return null; - } - }; - } - - @Override - public CustomizeData getCustomizeDataCopy() { - return null; - } - }); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorSelectedActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorSelectedActionTest.java deleted file mode 100644 index 9fb99260448..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenNewAtsWorldEditorSelectedActionTest.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import java.util.Arrays; -import java.util.List; -import org.eclipse.nebula.widgets.xviewer.customize.CustomizeData; -import org.eclipse.osee.ats.actions.OpenNewAtsWorldEditorSelectedAction.IOpenNewAtsWorldEditorSelectedHandler; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; - -/** - * @author Donald G. Dunne - */ -public class OpenNewAtsWorldEditorSelectedActionTest extends AbstractAtsActionRunTest { - - @Override - public OpenNewAtsWorldEditorSelectedAction createAction() { - return new OpenNewAtsWorldEditorSelectedAction(new IOpenNewAtsWorldEditorSelectedHandler() { - - @Override - public List getSelectedArtifacts() throws OseeCoreException { - return Arrays.asList((Artifact) AtsTestUtil.getTeamWf()); - } - - @Override - public CustomizeData getCustomizeDataCopy() { - return null; - } - }); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenParentActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenParentActionTest.java deleted file mode 100644 index 03010121c28..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenParentActionTest.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; - -/** - * @author Donald G. Dunne - */ -public class OpenParentActionTest extends AbstractAtsActionRunTest { - - @Override - public OpenParentAction createAction() throws OseeCoreException { - return new OpenParentAction(AtsTestUtil.getOrCreateTaskOffTeamWf1()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenReviewPerspectiveActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenReviewPerspectiveActionTest.java deleted file mode 100644 index d06014edb09..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenReviewPerspectiveActionTest.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Created on Oct 23, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.ui.IWorkbenchWindowActionDelegate; - -/** - * @author Donald G. Dunne - */ -public class OpenReviewPerspectiveActionTest extends AbstractAtsActionPerspectiveTest { - - @Override - public IWorkbenchWindowActionDelegate getPerspectiveAction() { - return new OpenReviewPerspectiveAction(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenWorkflowByIdActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenWorkflowByIdActionTest.java deleted file mode 100644 index 268fd59d008..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenWorkflowByIdActionTest.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; - -/** - * @author Donald G. Dunne - */ -public class OpenWorkflowByIdActionTest extends AbstractAtsActionRunTest { - - @Override - public Action createAction() throws OseeCoreException { - OpenWorkflowByIdAction action = new OpenWorkflowByIdAction(); - action.setPend(true); - action.setOverrideId(AtsTestUtil.getTeamWf().getHumanReadableId()); - return action; - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenWorldByIdActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenWorldByIdActionTest.java deleted file mode 100644 index 82e7d18f98a..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/OpenWorldByIdActionTest.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; - -/** - * @author Donald G. Dunne - */ -public class OpenWorldByIdActionTest extends AbstractAtsActionRunTest { - - @Override - public OpenWorldByIdAction createAction() throws OseeCoreException { - OpenWorldByIdAction action = new OpenWorldByIdAction(); - action.setOverrideIdString(AtsTestUtil.getTeamWf().getHumanReadableId()); - action.setPend(true); - return action; - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/RefreshDirtyActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/RefreshDirtyActionTest.java deleted file mode 100644 index cbe7633d100..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/RefreshDirtyActionTest.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.framework.ui.swt.IDirtiableEditor; - -/** - * @author Donald G. Dunne - */ -public class RefreshDirtyActionTest extends AbstractAtsActionRunTest { - - @Override - public RefreshDirtyAction createAction() { - return new RefreshDirtyAction(new IDirtiableEditor() { - - @Override - public void onDirtied() { - System.out.println(" "); - } - }); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ReloadActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ReloadActionTest.java deleted file mode 100644 index 41e96b40a84..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ReloadActionTest.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; - -/** - * @author Donald G. Dunne - */ -public class ReloadActionTest extends AbstractAtsActionRunTest { - - @Override - public ReloadAction createAction() throws OseeCoreException { - return new ReloadAction(AtsTestUtil.getTeamWf()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ResourceHistoryActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ResourceHistoryActionTest.java deleted file mode 100644 index eecaa9ac2f5..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ResourceHistoryActionTest.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Created on Oct 23, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class ResourceHistoryActionTest extends AbstractAtsActionTest { - - @Test - public void test() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - Assert.assertFalse(AtsUsersClient.getOseeUser().getRelatedArtifacts(AtsRelationTypes.FavoriteUser_Artifact).contains( - AtsTestUtil.getTeamWf())); - ResourceHistoryAction action = createAction(); - action.runWithException(); - TestUtil.severeLoggingEnd(monitor); - } - - @Override - public ResourceHistoryAction createAction() throws OseeCoreException { - return new ResourceHistoryAction(AtsTestUtil.getTeamWf()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowBranchChangeDataActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowBranchChangeDataActionTest.java deleted file mode 100644 index e183db8fd06..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowBranchChangeDataActionTest.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import junit.framework.Assert; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class ShowBranchChangeDataActionTest extends AbstractAtsActionRunTest { - - @Override - public ShowBranchChangeDataAction createAction() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - Result result = AtsTestUtil.createWorkingBranchFromTeamWf(); - Assert.assertTrue(result.getText(), result.isTrue()); - TestUtil.sleep(2000); - Assert.assertNotNull(AtsTestUtil.getTeamWf().getWorkingBranch()); - - return new ShowBranchChangeDataAction(AtsTestUtil.getTeamWf()); - } - - @Override - @Test - public void getImageDescriptor() { - ShowBranchChangeDataAction action = new ShowBranchChangeDataAction(null); - Assert.assertNotNull("Image should be specified", action.getImageDescriptor()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowChangeReportActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowChangeReportActionTest.java deleted file mode 100644 index 98ed3df65dc..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowChangeReportActionTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import junit.framework.Assert; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class ShowChangeReportActionTest extends AbstractAtsActionRunTest { - - @Override - public ShowChangeReportAction createAction() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - Result result = AtsTestUtil.createWorkingBranchFromTeamWf(); - Assert.assertTrue(result.getText(), result.isTrue()); - ShowChangeReportAction action = new ShowChangeReportAction(AtsTestUtil.getTeamWf()); - return action; - } - - @Override - @Test - public void getImageDescriptor() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - ShowChangeReportAction action = new ShowChangeReportAction(AtsTestUtil.getTeamWf()); - Assert.assertNotNull("Image should be specified", action.getImageDescriptor()); - TestUtil.severeLoggingEnd(monitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowMergeManagerActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowMergeManagerActionTest.java deleted file mode 100644 index 19e58624783..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowMergeManagerActionTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Created on Oct 26, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import junit.framework.Assert; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class ShowMergeManagerActionTest extends AbstractAtsActionRunTest { - - @Override - public ShowMergeManagerAction createAction() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - Result result = AtsTestUtil.createWorkingBranchFromTeamWf(); - Assert.assertTrue(result.getText(), result.isTrue()); - - ShowMergeManagerAction action = new ShowMergeManagerAction(AtsTestUtil.getTeamWf()); - return action; - } - - @Override - @Test - public void getImageDescriptor() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - ShowMergeManagerAction action = new ShowMergeManagerAction(AtsTestUtil.getTeamWf()); - Assert.assertNotNull("Image should be specified", action.getImageDescriptor()); - TestUtil.severeLoggingEnd(monitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowWorkDefinitionActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowWorkDefinitionActionTest.java deleted file mode 100644 index e7b9f5051d0..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/ShowWorkDefinitionActionTest.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - - -/** - * @author Donald G. Dunne - */ -public class ShowWorkDefinitionActionTest extends AbstractAtsActionRunTest { - - @Override - public ShowWorkDefinitionAction createAction() { - return new ShowWorkDefinitionAction(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/SubscribedActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/SubscribedActionTest.java deleted file mode 100644 index 92342f79d14..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/SubscribedActionTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Created on Oct 23, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class SubscribedActionTest extends AbstractAtsActionTest { - - @Test - public void test() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - AtsTestUtil.cleanupAndReset(getClass().getSimpleName()); - Assert.assertFalse(AtsUsersClient.getOseeUser().getRelatedArtifacts(AtsRelationTypes.SubscribedUser_Artifact).contains( - AtsTestUtil.getTeamWf())); - SubscribedAction action = createAction(); - action.runWithException(); - Assert.assertTrue(AtsUsersClient.getOseeUser().getRelatedArtifacts(AtsRelationTypes.SubscribedUser_Artifact).contains( - AtsTestUtil.getTeamWf())); - TestUtil.severeLoggingEnd(monitor); - } - - @Override - public SubscribedAction createAction() { - SubscribedAction action = new SubscribedAction(AtsTestUtil.getSelectedAtsArtifactsForTeamWf()); - action.setPrompt(false); - return action; - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/TaskAddActionTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/TaskAddActionTest.java deleted file mode 100644 index c61203f63e6..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/actions/TaskAddActionTest.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Created on Oct 24, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.actions; - -import org.eclipse.osee.ats.actions.TaskAddAction.ITaskAddActionHandler; - -/** - * @author Donald G. Dunne - */ -public class TaskAddActionTest extends AbstractAtsActionRunTest { - - @Override - public TaskAddAction createAction() { - return new TaskAddAction(new ITaskAddActionHandler() { - - @Override - public void taskAddActionHandler() { - System.out.println(" "); - } - }); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/log/AtsLogTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/log/AtsLogTest.java deleted file mode 100644 index 9673e7cdf30..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/log/AtsLogTest.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.artifact.log; - -import java.util.Date; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.osee.ats.core.client.workflow.log.AtsLog; -import org.eclipse.osee.ats.core.client.workflow.log.ILogStorageProvider; -import org.eclipse.osee.ats.core.client.workflow.log.LogItem; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.jdk.core.util.GUID; -import org.junit.Assert; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class AtsLogTest { - - @Test - public void testToAndFromStore() throws OseeCoreException { - Date date = new Date(); - SimpleLogStore store = new SimpleLogStore(); - AtsLog log = new AtsLog(store); - LogItem item = LogItemTest.getTestLogItem(date); - log.addLogItem(item); - - AtsLog log2 = new AtsLog(store); - Assert.assertEquals(1, log2.getLogItems().size()); - LogItem loadItem = log2.getLogItems().iterator().next(); - LogItemTest.validateItem(loadItem, date); - } - - public class SimpleLogStore implements ILogStorageProvider { - - String store = ""; - - @Override - public String getLogXml() { - return store; - } - - @Override - public IStatus saveLogXml(String xml) { - store = xml; - return Status.OK_STATUS; - } - - @Override - public String getLogTitle() { - return "This is the title"; - } - - @Override - public String getLogId() { - return GUID.create(); - } - - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/log/LogItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/log/LogItemTest.java deleted file mode 100644 index 3a4f95d5a90..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/log/LogItemTest.java +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.artifact.log; - -import java.util.Date; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.workflow.log.LogItem; -import org.eclipse.osee.ats.core.client.workflow.log.LogType; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.jdk.core.util.AHTML; -import org.eclipse.osee.framework.jdk.core.util.DateUtil; -import org.junit.Assert; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class LogItemTest { - - @Test - public void testLogItemLogTypeDateUserStringStringString() throws OseeCoreException { - Date date = new Date(); - LogItem item = getTestLogItem(date); - - validateItem(item, date); - } - - public static void validateItem(LogItem item, Date date) throws OseeCoreException { - Assert.assertEquals(LogType.Error, item.getType()); - Assert.assertEquals(date, item.getDate()); - Assert.assertEquals(AtsUsersClient.getUser(), item.getUser()); - Assert.assertEquals(AtsUsersClient.getUser().getUserId(), item.getUserId()); - Assert.assertEquals("Analyze", item.getState()); - Assert.assertEquals("my msg", item.getMsg()); - } - - @Test - public void testLogItemLogTypeStringStringStringStringString() throws OseeCoreException { - Date date = new Date(); - LogItem item = - new LogItem(LogType.Error, String.valueOf(date.getTime()), AtsUsersClient.getUser().getUserId(), "Analyze", - "my msg", "ASDF4"); - - validateItem(item, date); - } - - @Test - public void testLogItemStringStringStringStringStringString() throws OseeCoreException { - Date date = new Date(); - LogItem item = - new LogItem(LogType.Error.name(), String.valueOf(date.getTime()), AtsUsersClient.getUser().getUserId(), "Analyze", - "my msg", "ASDF4"); - - validateItem(item, date); - } - - public static LogItem getTestLogItem(Date date) throws OseeCoreException { - return new LogItem(LogType.Error, date, AtsUsersClient.getUser(), "Analyze", "my msg", "ASDF4"); - } - - @Test - public void testToString() throws OseeCoreException { - Date date = new Date(); - LogItem item = getTestLogItem(date); - - Assert.assertEquals( - "my msg (Error)from Analyze by " + AtsUsersClient.getUser().getName() + " on " + DateUtil.getMMDDYYHHMM(date), - item.toString()); - } - - @Test - public void testToHTML() throws OseeCoreException { - Date date = new Date(); - LogItem item = getTestLogItem(date); - - Assert.assertEquals("NOTE (Error): my msg (" + AtsUsersClient.getUser().getName() + ")", item.toHTML(AHTML.LABEL_FONT)); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/note/AtsNoteTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/note/AtsNoteTest.java deleted file mode 100644 index 5820009de6a..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/note/AtsNoteTest.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.artifact.note; - -import java.util.Date; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.osee.ats.core.client.workflow.note.AtsNote; -import org.eclipse.osee.ats.core.client.workflow.note.INoteStorageProvider; -import org.eclipse.osee.ats.core.client.workflow.note.NoteItem; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.jdk.core.util.GUID; -import org.junit.Assert; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class AtsNoteTest { - - @Test - public void testToAndFromStore() throws OseeCoreException { - Date date = new Date(); - SimpleNoteStore store = new SimpleNoteStore(); - AtsNote log = new AtsNote(store); - NoteItem item = NoteItemTest.getTestNoteItem(date); - log.addNoteItem(item); - - AtsNote log2 = new AtsNote(store); - Assert.assertEquals(1, log2.getNoteItems().size()); - NoteItem loadItem = log2.getNoteItems().iterator().next(); - NoteItemTest.validate(loadItem, date); - } - - public class SimpleNoteStore implements INoteStorageProvider { - - String store = ""; - - @Override - public String getNoteXml() { - return store; - } - - @Override - public IStatus saveNoteXml(String xml) { - store = xml; - return Status.OK_STATUS; - } - - @Override - public String getNoteTitle() { - return "This is the title"; - } - - @Override - public String getNoteId() { - return GUID.create(); - } - - @Override - public boolean isNoteable() { - return false; - } - - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/note/NoteItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/note/NoteItemTest.java deleted file mode 100644 index a4aa33a55ed..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/artifact/note/NoteItemTest.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.artifact.note; - -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.workflow.note.NoteItem; -import org.eclipse.osee.ats.core.client.workflow.note.NoteType; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.jdk.core.util.DateUtil; -import org.junit.Assert; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class NoteItemTest { - - @Test - public void testNoteItemNoteTypeStringStringUserString() throws OseeCoreException { - Date date = new Date(); - NoteItem item = - new NoteItem(NoteType.Comment, "Implement", String.valueOf(date.getTime()), AtsUsersClient.getUser(), "my msg"); - validate(item, date); - } - - public static void validate(NoteItem item, Date date) throws OseeCoreException { - Assert.assertEquals(NoteType.Comment, item.getType()); - Assert.assertEquals("Implement", item.getState()); - Assert.assertEquals(AtsUsersClient.getUser(), item.getUser()); - Assert.assertEquals("my msg", item.getMsg()); - } - - public static NoteItem getTestNoteItem(Date date) throws OseeCoreException { - return new NoteItem(NoteType.Comment, "Implement", String.valueOf(date.getTime()), AtsUsersClient.getUser(), "my msg"); - } - - @Test - public void testNoteItemStringStringStringUserString() throws OseeCoreException { - Date date = new Date(); - NoteItem item = - new NoteItem(NoteType.Comment.name(), "Implement", String.valueOf(date.getTime()), AtsUsersClient.getUser(), - "my msg"); - validate(item, date); - } - - @Test - public void testToString() throws OseeCoreException { - Date date = new Date(); - NoteItem item = getTestNoteItem(date); - - Assert.assertEquals( - "Note: Comment from " + AtsUsersClient.getUser().getName() + " for \"Implement\" on " + DateUtil.getMMDDYYHHMM(date) + " - my msg", - item.toString()); - } - - @Test - public void testToXmlFromXml() throws OseeCoreException { - Date date = new Date(); - NoteItem item = getTestNoteItem(date); - NoteItem item2 = - new NoteItem(NoteType.Question.name(), "Analyze", String.valueOf(date.getTime()), AtsUsersClient.getUser(), - "another message"); - - String xml = NoteItem.toXml(Arrays.asList(item, item2)); - Assert.assertEquals( - "" + // - "" + // - "", - xml); - - List items = NoteItem.fromXml(xml, "ASDF4"); - validate(items.iterator().next(), date); - - NoteItem fromXmlItem2 = items.get(1); - Assert.assertEquals(NoteType.Question, fromXmlItem2.getType()); - Assert.assertEquals("Analyze", fromXmlItem2.getState()); - Assert.assertEquals(AtsUsersClient.getUser(), fromXmlItem2.getUser()); - Assert.assertEquals("another message", fromXmlItem2.getMsg()); - - } - - @Test - public void testToHTML() throws OseeCoreException { - Date date = new Date(); - NoteItem item = getTestNoteItem(date); - - Assert.assertEquals( - "Note:Comment from " + AtsUsersClient.getUser().getName() + " for \"Implement\" on " + DateUtil.getMMDDYYHHMM(date) + " - my msg", - item.toHTML()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ActionableItemsColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ActionableItemsColumnTest.java deleted file mode 100644 index 056fa4dcecd..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ActionableItemsColumnTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import java.util.Collection; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests ActionableItemsColumn - * @author Donald G. Dunne - */ -public class ActionableItemsColumnTest { - - @org.junit.Test - public void testGetActionableItems() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Collection aias = ActionableItemsColumn.getActionableItems(codeArt); - Assert.assertEquals(1, aias.size()); - Assert.assertEquals("SAW Code", aias.iterator().next().getName()); - - Artifact actionArt = codeArt.getParentActionArtifact(); - aias = ActionableItemsColumn.getActionableItems(actionArt); - Assert.assertEquals(4, aias.size()); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - - @org.junit.Test - public void testGetActionableItemsStr() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertEquals("SAW Code", ActionableItemsColumn.getActionableItemsStr(codeArt)); - - Artifact actionArt = codeArt.getParentActionArtifact(); - - String results = ActionableItemsColumn.getActionableItemsStr(actionArt); - Assert.assertTrue(results.contains("SAW Code")); - Assert.assertTrue(results.contains("SAW SW Design")); - Assert.assertTrue(results.contains("SAW Test")); - Assert.assertTrue(results.contains("SAW Requirements")); - Assert.assertEquals(4, results.split(", ").length); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/AssigneeColumnUITest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/AssigneeColumnUITest.java deleted file mode 100644 index f9733d9ffed..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/AssigneeColumnUITest.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import java.util.Arrays; -import java.util.List; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests AssigneeColumnUI - * @author Donald G. Dunne - */ -public class AssigneeColumnUITest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertEquals("Joe Smith", - AssigneeColumnUI.getInstance().getColumnText(codeArt, AssigneeColumnUI.getInstance(), 0)); - - Artifact actionArt = codeArt.getParentActionArtifact(); - List results = Arrays.asList("Kay Jones; Joe Smith", "Joe Smith; Kay Jones"); - Assert.assertTrue(results.contains(AssigneeColumnUI.getInstance().getColumnText(actionArt, - AssigneeColumnUI.getInstance(), 0))); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - - public void testGetColumnImage() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertNotNull(ActionableItemsColumn.getInstance().getColumnImage(codeArt, AssigneeColumnUI.getInstance(), - 0)); - - Artifact actionArt = codeArt.getParentActionArtifact(); - Assert.assertNotNull(ActionableItemsColumn.getInstance().getColumnImage(actionArt, - AssigneeColumnUI.getInstance(), 0)); - - Assert.assertNull(ActionableItemsColumn.getInstance().getColumnImage("String", AssigneeColumnUI.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/BranchStatusColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/BranchStatusColumnTest.java deleted file mode 100644 index 3cc18cca23c..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/BranchStatusColumnTest.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests BranchStatusColumn - * @author Donald G. Dunne - */ -public class BranchStatusColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertEquals("Working", - BranchStatusColumn.getInstance().getColumnText(reqArt, BranchStatusColumn.getInstance(), 0)); - - TeamWorkFlowArtifact testArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Test); - Assert.assertEquals("", - BranchStatusColumn.getInstance().getColumnText(testArt, BranchStatusColumn.getInstance(), 0)); - - Artifact actionArt = reqArt.getParentActionArtifact(); - Assert.assertEquals("Working", - BranchStatusColumn.getInstance().getColumnText(actionArt, BranchStatusColumn.getInstance(), 0)); - - TeamWorkFlowArtifact reqArt2 = - (TeamWorkFlowArtifact) DemoTestUtil.getCommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertEquals("Committed", - BranchStatusColumn.getInstance().getColumnText(reqArt2, BranchStatusColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CancelledDateColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CancelledDateColumnTest.java deleted file mode 100644 index 2619075dfd9..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CancelledDateColumnTest.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import java.util.Arrays; -import java.util.Collections; -import java.util.Date; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.jdk.core.util.DateUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * @tests CancelledDateColumn - * @author Donald G. Dunne - */ -public class CancelledDateColumnTest { - - @AfterClass - @BeforeClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanupSimpleTest(CancelledDateColumnTest.class.getSimpleName()); - } - - @org.junit.Test - public void testGetDateAndStrAndColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CancelledDateColumnTest.class.getSimpleName()); - TeamWorkFlowArtifact teamArt = - DemoTestUtil.createSimpleAction(CancelledDateColumnTest.class.getSimpleName(), transaction); - transaction.execute(); - - Assert.assertEquals("", - CancelledDateColumn.getInstance().getColumnText(teamArt, CancelledDateColumn.getInstance(), 0)); - Date date = CancelledDateColumn.getDate(teamArt); - Assert.assertNull(date); - Assert.assertEquals("", CancelledDateColumn.getDateStr(teamArt)); - - TransitionHelper helper = - new TransitionHelper("Transition to Cancelled", Arrays.asList(teamArt), TeamState.Cancelled.getName(), - null, "reason", TransitionOption.OverrideTransitionValidityCheck, TransitionOption.OverrideAssigneeCheck); - TransitionManager transitionMgr = new TransitionManager(helper); - TransitionResults results = transitionMgr.handleAll(); - Assert.assertTrue(results.toString(), results.isEmpty()); - transitionMgr.getTransaction().execute(); - - date = CancelledDateColumn.getDate(teamArt); - Assert.assertNotNull(date); - Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), CancelledDateColumn.getDateStr(teamArt)); - Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), - CancelledDateColumn.getInstance().getColumnText(teamArt, CancelledDateColumn.getInstance(), 0)); - - helper = - new TransitionHelper("Transition to Endorse", Arrays.asList(teamArt), TeamState.Endorse.getName(), - Collections.singleton(AtsUsersClient.getUser()), null, TransitionOption.OverrideTransitionValidityCheck, - TransitionOption.OverrideAssigneeCheck); - transitionMgr = new TransitionManager(helper); - results = transitionMgr.handleAll(); - Assert.assertTrue(results.toString(), results.isEmpty()); - transitionMgr.getTransaction().execute(); - - Assert.assertEquals("Cancelled date should be blank again", "", - CancelledDateColumn.getInstance().getColumnText(teamArt, CancelledDateColumn.getInstance(), 0)); - date = CancelledDateColumn.getDate(teamArt); - Assert.assertNull(date); - - TestUtil.severeLoggingEnd(loggingMonitor); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CategoryColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CategoryColumnTest.java deleted file mode 100644 index 5cf1858db11..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CategoryColumnTest.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * @tests CategoryColumn - * @author Donald G. Dunne - */ -public class CategoryColumnTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws OseeCoreException { - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - TeamWorkFlowArtifact testArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Test); - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CategoryColumnTest.class.getSimpleName()); - codeArt.deleteAttributes(AtsAttributeTypes.Category1); - codeArt.persist(transaction); - reqArt.deleteAttributes(AtsAttributeTypes.Category1); - reqArt.persist(transaction); - testArt.deleteAttributes(AtsAttributeTypes.Category1); - testArt.persist(transaction); - transaction.execute(); - } - - @org.junit.Test - public void testGetDateAndStrAndColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - TeamWorkFlowArtifact testArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Test); - Artifact actionArt = codeArt.getParentActionArtifact(); - - Assert.assertEquals("", - CategoryColumn.getCategory1Instance().getColumnText(codeArt, CategoryColumn.getCategory1Instance(), 0)); - Assert.assertEquals("", - CategoryColumn.getCategory1Instance().getColumnText(reqArt, CategoryColumn.getCategory1Instance(), 0)); - Assert.assertEquals("", - CategoryColumn.getCategory1Instance().getColumnText(testArt, CategoryColumn.getCategory1Instance(), 0)); - Assert.assertEquals("", - CategoryColumn.getCategory1Instance().getColumnText(actionArt, CategoryColumn.getCategory1Instance(), 0)); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CategoryColumnTest.class.getSimpleName()); - codeArt.addAttribute(AtsAttributeTypes.Category1, "this"); - codeArt.persist(transaction); - reqArt.addAttribute(AtsAttributeTypes.Category1, "that"); - reqArt.persist(transaction); - testArt.addAttribute(AtsAttributeTypes.Category1, "the other"); - testArt.persist(transaction); - transaction.execute(); - - Assert.assertEquals("this", - CategoryColumn.getCategory1Instance().getColumnText(codeArt, CategoryColumn.getCategory1Instance(), 0)); - Assert.assertEquals("that", - CategoryColumn.getCategory1Instance().getColumnText(reqArt, CategoryColumn.getCategory1Instance(), 0)); - Assert.assertEquals("the other", - CategoryColumn.getCategory1Instance().getColumnText(testArt, CategoryColumn.getCategory1Instance(), 0)); - - String actionArtStr = - CategoryColumn.getCategory1Instance().getColumnText(actionArt, CategoryColumn.getCategory1Instance(), 0); - Assert.assertEquals(3, actionArtStr.split("; ").length); - Assert.assertTrue(actionArtStr.contains("this")); - Assert.assertTrue(actionArtStr.contains("that")); - Assert.assertTrue(actionArtStr.contains("the other")); - - transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CategoryColumnTest.class.getSimpleName()); - codeArt.deleteAttributes(AtsAttributeTypes.Category1); - codeArt.persist(transaction); - reqArt.deleteSoleAttribute(AtsAttributeTypes.Category1); - reqArt.persist(transaction); - testArt.deleteAttribute(AtsAttributeTypes.Category1, "the other"); - testArt.persist(transaction); - transaction.execute(); - - Assert.assertEquals("", - CategoryColumn.getCategory1Instance().getColumnText(codeArt, CategoryColumn.getCategory1Instance(), 0)); - Assert.assertEquals("", - CategoryColumn.getCategory1Instance().getColumnText(reqArt, CategoryColumn.getCategory1Instance(), 0)); - Assert.assertEquals("", - CategoryColumn.getCategory1Instance().getColumnText(testArt, CategoryColumn.getCategory1Instance(), 0)); - Assert.assertEquals("", - CategoryColumn.getCategory1Instance().getColumnText(actionArt, CategoryColumn.getCategory1Instance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ChangeTypeColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ChangeTypeColumnTest.java deleted file mode 100644 index 147b4e2d1f6..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ChangeTypeColumnTest.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.workflow.ChangeType; -import org.eclipse.osee.ats.core.client.workflow.ChangeTypeUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * @tests ChangeTypeColumn - * @author Donald G. Dunne - */ -public class ChangeTypeColumnTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws OseeCoreException { - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - reqArt.setSoleAttributeValue(AtsAttributeTypes.ChangeType, ChangeType.Problem.name()); - reqArt.persist(CategoryColumnTest.class.getSimpleName()); - } - - @org.junit.Test - public void getChangeTypeStrAndImage() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertEquals(ChangeType.Problem, ChangeTypeUtil.getChangeType(codeArt)); - Assert.assertNotNull(ChangeTypeColumn.getInstance().getColumnImage(codeArt, ChangeTypeColumn.getInstance(), 0)); - - Artifact actionArt = codeArt.getParentActionArtifact(); - Assert.assertEquals(ChangeType.Problem, ChangeTypeUtil.getChangeType(actionArt)); - - // clear our req change type - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - ChangeTypeUtil.setChangeType(reqArt, ChangeType.None); - reqArt.persist(CategoryColumnTest.class.getSimpleName()); - - Assert.assertEquals(ChangeType.None, ChangeTypeUtil.getChangeType(reqArt)); - Assert.assertNull(ChangeTypeColumn.getInstance().getColumnImage(reqArt, ChangeTypeColumn.getInstance(), 0)); - - Assert.assertEquals(ChangeType.Problem, ChangeTypeUtil.getChangeType(actionArt)); - Assert.assertEquals("Problem", - ChangeTypeColumn.getInstance().getColumnText(actionArt, ChangeTypeColumn.getInstance(), 0)); - - // set change type to Improvement - ChangeTypeUtil.setChangeType(reqArt, ChangeType.Improvement); - reqArt.persist(CategoryColumnTest.class.getSimpleName()); - - Assert.assertEquals(ChangeType.Improvement, ChangeTypeUtil.getChangeType(reqArt)); - Assert.assertNotNull(ChangeTypeColumn.getInstance().getColumnImage(reqArt, ChangeTypeColumn.getInstance(), 0)); - - Assert.assertEquals(ChangeType.Problem, ChangeTypeUtil.getChangeType(actionArt)); - Assert.assertEquals("Problem; Improvement", - ChangeTypeColumn.getInstance().getColumnText(actionArt, ChangeTypeColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CompletedDateColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CompletedDateColumnTest.java deleted file mode 100644 index e8bd83a8911..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CompletedDateColumnTest.java +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import java.util.Arrays; -import java.util.Date; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.jdk.core.util.DateUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * @tests CompletedDateColumn - * @author Donald G. Dunne - */ -public class CompletedDateColumnTest { - - @AfterClass - @BeforeClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanupSimpleTest(CompletedDateColumnTest.class.getSimpleName()); - } - - @org.junit.Test - public void testGetDateAndStrAndColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CompletedDateColumnTest.class.getSimpleName()); - TeamWorkFlowArtifact teamArt = - DemoTestUtil.createSimpleAction(CompletedDateColumnTest.class.getSimpleName(), transaction); - transaction.execute(); - - Assert.assertEquals("", - CompletedDateColumn.getInstance().getColumnText(teamArt, CompletedDateColumn.getInstance(), 0)); - Date date = CompletedDateColumn.getDate(teamArt); - Assert.assertNull(date); - Assert.assertEquals("", CompletedDateColumn.getDateStr(teamArt)); - - TransitionHelper helper = - new TransitionHelper("Transition to Completed", Arrays.asList(teamArt), TeamState.Completed.getName(), - null, null, TransitionOption.OverrideTransitionValidityCheck, TransitionOption.OverrideAssigneeCheck); - TransitionManager transitionMgr = new TransitionManager(helper); - TransitionResults results = transitionMgr.handleAll(); - Assert.assertTrue(results.toString(), results.isEmpty()); - transitionMgr.getTransaction().execute(); - - date = CompletedDateColumn.getDate(teamArt); - Assert.assertNotNull(date); - Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), CompletedDateColumn.getDateStr(teamArt)); - Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), - CompletedDateColumn.getInstance().getColumnText(teamArt, CompletedDateColumn.getInstance(), 0)); - - helper = - new TransitionHelper("Transition to Endorse", Arrays.asList(teamArt), TeamState.Endorse.getName(), - Arrays.asList(AtsUsersClient.getUser()), null, TransitionOption.OverrideTransitionValidityCheck, - TransitionOption.OverrideAssigneeCheck); - transitionMgr = new TransitionManager(helper); - results = transitionMgr.handleAll(); - Assert.assertTrue(results.toString(), results.isEmpty()); - transitionMgr.getTransaction().execute(); - - Assert.assertEquals("Cancelled date should be blank again", "", - CompletedDateColumn.getInstance().getColumnText(teamArt, CompletedDateColumn.getInstance(), 0)); - date = CompletedDateColumn.getDate(teamArt); - Assert.assertNull(date); - - TestUtil.severeLoggingEnd(loggingMonitor); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CreatedDateColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CreatedDateColumnTest.java deleted file mode 100644 index fb8319bf8d6..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/CreatedDateColumnTest.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import java.util.Date; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.jdk.core.util.DateUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests CreatedDateColumn - * @author Donald G. Dunne - */ -public class CreatedDateColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertNotNull(CreatedDateColumn.getInstance().getColumnText(codeArt, CreatedDateColumn.getInstance(), 0)); - Date date = CreatedDateColumn.getDate(codeArt); - Assert.assertNotNull(date); - Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), CreatedDateColumn.getDateStr(codeArt)); - - Artifact actionArt = codeArt.getParentActionArtifact(); - Assert.assertEquals(DateUtil.getMMDDYYHHMM(date), CreatedDateColumn.getDateStr(actionArt)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/DeadlineColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/DeadlineColumnTest.java deleted file mode 100644 index f5e932d3a10..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/DeadlineColumnTest.java +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import java.util.Calendar; -import java.util.Date; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.jdk.core.util.DateUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * @tests DeadlineColumn - * @author Donald G. Dunne - */ -public class DeadlineColumnTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanupSimpleTest(DeadlineColumnTest.class.getSimpleName()); - } - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), CancelledDateColumnTest.class.getSimpleName()); - TeamWorkFlowArtifact teamArt = - DemoTestUtil.createSimpleAction(CancelledDateColumnTest.class.getSimpleName(), transaction); - transaction.execute(); - - Assert.assertNull(DeadlineColumn.getDate(teamArt)); - - Date creationDate = teamArt.getCreatedDate(); - Calendar calendar = DateUtil.getCalendar(creationDate); - calendar.add(Calendar.DAY_OF_MONTH, -1); - Date overdueDate = calendar.getTime(); - - teamArt.setSoleAttributeValue(AtsAttributeTypes.NeedBy, overdueDate); - teamArt.persist(getClass().getSimpleName()); - - Assert.assertEquals(overdueDate, DeadlineColumn.getDate(teamArt)); - Assert.assertTrue(DeadlineColumn.isDeadlineAlerting(teamArt).isTrue()); - Assert.assertNotNull(DeadlineColumn.getInstance().getColumnImage(teamArt, DeadlineColumn.getInstance(), 0)); - - calendar = DateUtil.getCalendar(creationDate); - calendar.add(Calendar.DAY_OF_MONTH, +5); - Date futureDate = calendar.getTime(); - - teamArt.setSoleAttributeValue(AtsAttributeTypes.NeedBy, futureDate); - teamArt.persist(getClass().getSimpleName()); - - Assert.assertEquals(futureDate, DeadlineColumn.getDate(teamArt)); - Assert.assertTrue(DeadlineColumn.isDeadlineAlerting(teamArt).isFalse()); - Assert.assertNull(DeadlineColumn.getInstance().getColumnImage(teamArt, DeadlineColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/DescriptionColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/DescriptionColumnTest.java deleted file mode 100644 index 421d5163441..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/DescriptionColumnTest.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests DescriptionColumn - * @author Donald G. Dunne - */ -public class DescriptionColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertEquals("Problem with the Diagram View", - DescriptionColumn.getInstance().getColumnText(reqArt, DescriptionColumn.getInstance(), 0)); - - Artifact actionArt = reqArt.getParentActionArtifact(); - Assert.assertEquals("Problem with the Diagram View", - DescriptionColumn.getInstance().getColumnText(actionArt, DescriptionColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/EstimatedHoursColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/EstimatedHoursColumnTest.java deleted file mode 100644 index ea31852f0a5..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/EstimatedHoursColumnTest.java +++ /dev/null @@ -1,123 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import java.util.Date; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.workflow.EstimatedHoursUtil; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * @tests EstimatedHoursColumn - * @author Donald G. Dunne - */ -public class EstimatedHoursColumnTest { - - @AfterClass - @BeforeClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanupSimpleTest(EstimatedHoursColumnTest.class.getSimpleName()); - } - - @org.junit.Test - public void testGetDateAndStrAndColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), EstimatedHoursColumnTest.class.getSimpleName()); - TeamWorkFlowArtifact teamArt1 = - DemoTestUtil.createSimpleAction(EstimatedHoursColumnTest.class.getSimpleName(), transaction); - - Artifact actionArt = teamArt1.getParentActionArtifact(); - TeamWorkFlowArtifact teamArt2 = - DemoTestUtil.addTeamWorkflow(actionArt, EstimatedHoursColumnTest.class.getSimpleName(), transaction); - TaskArtifact taskArt1 = - teamArt1.createNewTask(EstimatedHoursColumnTest.class.getSimpleName(), new Date(), AtsUsersClient.getUser()); - taskArt1.persist(transaction); - TaskArtifact taskArt2 = - teamArt1.createNewTask(EstimatedHoursColumnTest.class.getSimpleName(), new Date(), AtsUsersClient.getUser()); - taskArt2.persist(transaction); - PeerToPeerReviewArtifact peerArt = - PeerToPeerReviewManager.createNewPeerToPeerReview(teamArt1, getClass().getSimpleName(), - teamArt1.getStateMgr().getCurrentStateName(), transaction); - peerArt.persist(transaction); - transaction.execute(); - - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); - - teamArt1.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 1.4); - teamArt1.persist(getClass().getSimpleName()); - Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); - Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); - - taskArt1.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 1.4); - taskArt1.persist(getClass().getSimpleName()); - Assert.assertEquals(2.8, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); - Assert.assertEquals(2.8, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); - Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); - - peerArt.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 4.0); - peerArt.persist(getClass().getSimpleName()); - Assert.assertEquals(6.8, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); - Assert.assertEquals(6.8, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); - Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); - Assert.assertEquals(4.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); - - teamArt2.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 2.1); - teamArt2.persist(getClass().getSimpleName()); - Assert.assertEquals(8.9, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); - Assert.assertEquals(6.8, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); - Assert.assertEquals(2.1, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); - Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); - Assert.assertEquals(0.0, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); - Assert.assertEquals(4.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); - - taskArt2.setSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 0.1); - taskArt2.persist(getClass().getSimpleName()); - Assert.assertEquals(9.0, EstimatedHoursUtil.getEstimatedHours(actionArt), 0); - Assert.assertEquals(6.9, EstimatedHoursUtil.getEstimatedHours(teamArt1), 0); - Assert.assertEquals(2.1, EstimatedHoursUtil.getEstimatedHours(teamArt2), 0); - Assert.assertEquals(1.4, EstimatedHoursUtil.getEstimatedHours(taskArt1), 0); - Assert.assertEquals(0.1, EstimatedHoursUtil.getEstimatedHours(taskArt2), 0); - Assert.assertEquals(4.0, EstimatedHoursUtil.getEstimatedHours(peerArt), 0); - - TestUtil.severeLoggingEnd(loggingMonitor); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/GroupsColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/GroupsColumnTest.java deleted file mode 100644 index 33c0e37995a..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/GroupsColumnTest.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests GroupsColumn - * @author Donald G. Dunne - */ -public class GroupsColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertEquals("Test Group", GroupsColumn.getInstance().getColumnText(reqArt, GroupsColumn.getInstance(), 0)); - - Artifact actionArt = reqArt.getParentActionArtifact(); - Assert.assertEquals("Test Group", - GroupsColumn.getInstance().getColumnText(actionArt, GroupsColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/NumberOfTasksAndInWorkTasksColumnsTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/NumberOfTasksAndInWorkTasksColumnsTest.java deleted file mode 100644 index e659b245b8d..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/NumberOfTasksAndInWorkTasksColumnsTest.java +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import java.util.Collection; -import java.util.HashSet; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.task.TaskManager; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests NumberOfTasksColumn - * @tests NumberOfTasksRemainingColumn - * @author Donald G. Dunne - */ -public class NumberOfTasksAndInWorkTasksColumnsTest { - - @org.junit.Test - public void getColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertEquals("6", NumberOfTasksColumn.getInstance().getColumnText(codeArt, null, 0)); - Assert.assertEquals("6", NumberOfTasksRemainingColumn.getInstance().getColumnText(codeArt, null, 0)); - - TaskArtifact taskArt = codeArt.getTaskArtifacts().iterator().next(); - Collection taskAssignees = new HashSet(); - taskAssignees.addAll(codeArt.getStateMgr().getAssignees()); - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName()); - Result result = TaskManager.transitionToCompleted(taskArt, 0.0, 2, transaction); - Assert.assertEquals(true, result.isTrue()); - taskArt.persist(transaction); - transaction.execute(); - - Assert.assertEquals("6", NumberOfTasksColumn.getInstance().getColumnText(codeArt, null, 0)); - Assert.assertEquals("5", NumberOfTasksRemainingColumn.getInstance().getColumnText(codeArt, null, 0)); - - transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName()); - result = TaskManager.transitionToInWork(taskArt, taskAssignees.iterator().next(), 0, -2, transaction); - Assert.assertEquals(true, result.isTrue()); - taskArt.persist(transaction); - transaction.execute(); - - Assert.assertEquals("6", NumberOfTasksColumn.getInstance().getColumnText(codeArt, null, 0)); - Assert.assertEquals("6", NumberOfTasksRemainingColumn.getInstance().getColumnText(codeArt, null, 0)); - - TeamWorkFlowArtifact testArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Test); - Assert.assertEquals("", NumberOfTasksColumn.getInstance().getColumnText(testArt, null, 0)); - Assert.assertEquals("", NumberOfTasksRemainingColumn.getInstance().getColumnText(testArt, null, 0)); - - Artifact actionArt = codeArt.getParentActionArtifact(); - Assert.assertEquals("6", NumberOfTasksColumn.getInstance().getColumnText(actionArt, null, 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/OriginatorColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/OriginatorColumnTest.java deleted file mode 100644 index 082fd0f0769..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/OriginatorColumnTest.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.UserManager; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoUsers; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests OriginatorColumn - * @author Donald G. Dunne - */ -public class OriginatorColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertEquals(UserManager.getUser(DemoUsers.Joe_Smith).getName(), - OriginatorColumn.getInstance().getColumnText(reqArt, OriginatorColumn.getInstance(), 0)); - - Artifact actionArt = reqArt.getParentActionArtifact(); - Assert.assertEquals(UserManager.getUser(DemoUsers.Joe_Smith).getName(), - OriginatorColumn.getInstance().getColumnText(actionArt, OriginatorColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ParentStateAndIdColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ParentStateAndIdColumnTest.java deleted file mode 100644 index f4e534e0616..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/ParentStateAndIdColumnTest.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests ParentStateColumn - * @tests ParentHridColumn - * @author Donald G. Dunne - */ -public class ParentStateAndIdColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Artifact actionArt = codeArt.getParentActionArtifact(); - - Assert.assertEquals("", ParentStateColumn.getInstance().getColumnText(codeArt, ParentHridColumn.getInstance(), 0)); - Assert.assertEquals(actionArt.getHumanReadableId(), - ParentHridColumn.getInstance().getColumnText(codeArt, ParentHridColumn.getInstance(), 0)); - - PeerToPeerReviewArtifact peerArt = - (PeerToPeerReviewArtifact) codeArt.getRelatedArtifact(AtsRelationTypes.TeamWorkflowToReview_Review); - Assert.assertEquals(TeamState.Implement.getName(), - ParentStateColumn.getInstance().getColumnText(peerArt, ParentHridColumn.getInstance(), 0)); - Assert.assertEquals(codeArt.getHumanReadableId(), - ParentHridColumn.getInstance().getColumnText(peerArt, ParentHridColumn.getInstance(), 0)); - - Assert.assertEquals("", - ParentStateColumn.getInstance().getColumnText(actionArt, ParentHridColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/PeerToPeerReviewColumnsTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/PeerToPeerReviewColumnsTest.java deleted file mode 100644 index 7dc70ce0eff..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/PeerToPeerReviewColumnsTest.java +++ /dev/null @@ -1,139 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; -import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem; -import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem.Disposition; -import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem.InjectionActivity; -import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem.Severity; -import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectManager; -import org.eclipse.osee.ats.core.client.review.role.Role; -import org.eclipse.osee.ats.core.client.review.role.UserRole; -import org.eclipse.osee.ats.core.client.review.role.UserRoleManager; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoUsers; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * @tests CancelledDateColumn - * @author Donald G. Dunne - */ -public class PeerToPeerReviewColumnsTest { - - @AfterClass - @BeforeClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanupSimpleTest(PeerToPeerReviewColumnsTest.class.getSimpleName()); - } - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), PeerToPeerReviewColumnsTest.class.getSimpleName()); - TeamWorkFlowArtifact teamArt = - DemoTestUtil.createSimpleAction(PeerToPeerReviewColumnsTest.class.getSimpleName(), transaction); - PeerToPeerReviewArtifact peerArt = - PeerToPeerReviewManager.createNewPeerToPeerReview(teamArt, getClass().getSimpleName(), - teamArt.getStateMgr().getCurrentStateName(), transaction); - peerArt.persist(transaction); - transaction.execute(); - - Assert.assertEquals("0", ReviewNumIssuesColumn.getInstance().getColumnText(peerArt, null, 0)); - Assert.assertEquals("0", ReviewNumMajorDefectsColumn.getInstance().getColumnText(peerArt, null, 0)); - Assert.assertEquals("0", ReviewNumMinorDefectsColumn.getInstance().getColumnText(peerArt, null, 0)); - Assert.assertEquals("", ReviewAuthorColumn.getInstance().getColumnText(peerArt, null, 0)); - Assert.assertEquals("", ReviewModeratorColumn.getInstance().getColumnText(peerArt, null, 0)); - Assert.assertEquals("", ReviewReviewerColumn.getInstance().getColumnText(peerArt, null, 0)); - - transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), PeerToPeerReviewColumnsTest.class.getSimpleName()); - ReviewDefectItem item = - new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Issue, Disposition.None, InjectionActivity.Code, - "description", "resolution", "location", new Date()); - ReviewDefectManager defectManager = new ReviewDefectManager(peerArt); - defectManager.addOrUpdateDefectItem(item); - item = - new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Issue, Disposition.None, InjectionActivity.Code, - "description 2", "resolution", "location", new Date()); - defectManager.addOrUpdateDefectItem(item); - item = - new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Issue, Disposition.None, InjectionActivity.Code, - "description 3", "resolution", "location", new Date()); - defectManager.addOrUpdateDefectItem(item); - item = - new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Issue, Disposition.None, InjectionActivity.Code, - "description 34", "resolution", "location", new Date()); - defectManager.addOrUpdateDefectItem(item); - item = - new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Major, Disposition.None, InjectionActivity.Code, - "description 4", "resolution", "location", new Date()); - defectManager.addOrUpdateDefectItem(item); - item = - new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Minor, Disposition.None, InjectionActivity.Code, - "description 5", "resolution", "location", new Date()); - defectManager.addOrUpdateDefectItem(item); - item = - new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Minor, Disposition.None, InjectionActivity.Code, - "description 6", "resolution", "location", new Date()); - defectManager.addOrUpdateDefectItem(item); - item = - new ReviewDefectItem(AtsUsersClient.getUser(), Severity.Minor, Disposition.None, InjectionActivity.Code, - "description 6", "resolution", "location", new Date()); - defectManager.addOrUpdateDefectItem(item); - defectManager.saveToArtifact(peerArt); - - UserRole role = new UserRole(Role.Author, AtsUsersClient.getUserFromToken(DemoUsers.Alex_Kay)); - UserRoleManager roleMgr = new UserRoleManager(peerArt); - roleMgr.addOrUpdateUserRole(role); - - role = new UserRole(Role.Moderator, AtsUsersClient.getUserFromToken(DemoUsers.Jason_Michael)); - roleMgr.addOrUpdateUserRole(role); - - role = new UserRole(Role.Reviewer, AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - roleMgr.addOrUpdateUserRole(role); - role = new UserRole(Role.Reviewer, AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); - roleMgr.addOrUpdateUserRole(role); - roleMgr.saveToArtifact(transaction); - peerArt.persist(transaction); - transaction.execute(); - - Assert.assertEquals("4", ReviewNumIssuesColumn.getInstance().getColumnText(peerArt, null, 0)); - Assert.assertEquals("1", ReviewNumMajorDefectsColumn.getInstance().getColumnText(peerArt, null, 0)); - Assert.assertEquals("3", ReviewNumMinorDefectsColumn.getInstance().getColumnText(peerArt, null, 0)); - Assert.assertEquals(DemoUsers.Alex_Kay.getName(), - ReviewAuthorColumn.getInstance().getColumnText(peerArt, null, 0)); - Assert.assertEquals(DemoUsers.Jason_Michael.getName(), - ReviewModeratorColumn.getInstance().getColumnText(peerArt, null, 0)); - List results = - Arrays.asList(DemoUsers.Kay_Jones.getName() + "; " + DemoUsers.Joe_Smith.getName(), - DemoUsers.Joe_Smith.getName() + "; " + DemoUsers.Kay_Jones.getName()); - Assert.assertTrue(results.contains(ReviewReviewerColumn.getInstance().getColumnText(peerArt, null, 0))); - - TestUtil.severeLoggingEnd(loggingMonitor); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/PriorityColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/PriorityColumnTest.java deleted file mode 100644 index 8e4b65d9aec..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/PriorityColumnTest.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests PriorityColumn - * @author Donald G. Dunne - */ -public class PriorityColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertEquals("3", PriorityColumn.getInstance().getColumnText(reqArt, PriorityColumn.getInstance(), 0)); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertEquals("3", PriorityColumn.getInstance().getColumnText(codeArt, PriorityColumn.getInstance(), 0)); - - PeerToPeerReviewArtifact peerArt = - (PeerToPeerReviewArtifact) codeArt.getRelatedArtifact(AtsRelationTypes.TeamWorkflowToReview_Review); - Assert.assertEquals("", PriorityColumn.getInstance().getColumnText(peerArt, PriorityColumn.getInstance(), 0)); - - TaskArtifact taskArt = - (TaskArtifact) codeArt.getRelatedArtifacts(AtsRelationTypes.SmaToTask_Task).iterator().next(); - Assert.assertEquals("", PriorityColumn.getInstance().getColumnText(taskArt, PriorityColumn.getInstance(), 0)); - - Artifact actionArt = reqArt.getParentActionArtifact(); - Assert.assertEquals("3", PriorityColumn.getInstance().getColumnText(actionArt, PriorityColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/RelatedToStateColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/RelatedToStateColumnTest.java deleted file mode 100644 index 80157c9989e..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/RelatedToStateColumnTest.java +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.api.data.AtsRelationTypes; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests RelatedToStateColumn - * @author Donald G. Dunne - */ -public class RelatedToStateColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertEquals("", - RelatedToStateColumn.getInstance().getColumnText(codeArt, RelatedToStateColumn.getInstance(), 0)); - - PeerToPeerReviewArtifact peerArt = - (PeerToPeerReviewArtifact) codeArt.getRelatedArtifact(AtsRelationTypes.TeamWorkflowToReview_Review); - Assert.assertEquals("Implement", - RelatedToStateColumn.getInstance().getColumnText(peerArt, RelatedToStateColumn.getInstance(), 0)); - - TaskArtifact taskArt = - (TaskArtifact) codeArt.getRelatedArtifacts(AtsRelationTypes.SmaToTask_Task).iterator().next(); - Assert.assertEquals("Implement", - RelatedToStateColumn.getInstance().getColumnText(taskArt, RelatedToStateColumn.getInstance(), 0)); - - TeamWorkFlowArtifact reqArt = (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertEquals("", - RelatedToStateColumn.getInstance().getColumnText(reqArt, RelatedToStateColumn.getInstance(), 0)); - - Artifact actionArt = reqArt.getParentActionArtifact(); - Assert.assertEquals("", - RelatedToStateColumn.getInstance().getColumnText(actionArt, RelatedToStateColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/StateColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/StateColumnTest.java deleted file mode 100644 index ccaf72c72d6..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/StateColumnTest.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests StateColumn - * @author Donald G. Dunne - */ -public class StateColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertEquals(TeamState.Implement.getName(), - StateColumn.getInstance().getColumnText(reqArt, StateColumn.getInstance(), 0)); - - Artifact actionArt = reqArt.getParentActionArtifact(); - Assert.assertEquals(TeamState.Implement.getName(), - StateColumn.getInstance().getColumnText(actionArt, StateColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TargetedVersionColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TargetedVersionColumnTest.java deleted file mode 100644 index 7f669ad36ac..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TargetedVersionColumnTest.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests TargetedVersionColumn - * @author Donald G. Dunne - */ -public class TargetedVersionColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertEquals(DemoSawBuilds.SAW_Bld_2.getName(), - TargetedVersionColumn.getInstance().getColumnText(reqArt, TargetedVersionColumn.getInstance(), 0)); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertEquals(DemoSawBuilds.SAW_Bld_2.getName(), - TargetedVersionColumn.getInstance().getColumnText(codeArt, TargetedVersionColumn.getInstance(), 0)); - - Artifact actionArt = reqArt.getParentActionArtifact(); - Assert.assertEquals(DemoSawBuilds.SAW_Bld_2.getName(), - TargetedVersionColumn.getInstance().getColumnText(actionArt, TargetedVersionColumn.getInstance(), 0)); - - TeamWorkFlowArtifact toolsArt = DemoTestUtil.getToolsTeamWorkflow(); - Assert.assertEquals("", - TargetedVersionColumn.getInstance().getColumnText(toolsArt, TargetedVersionColumn.getInstance(), 0)); - - actionArt = toolsArt.getParentActionArtifact(); - Assert.assertEquals("", - TargetedVersionColumn.getInstance().getColumnText(actionArt, TargetedVersionColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TeamColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TeamColumnTest.java deleted file mode 100644 index f0d22b2d2d4..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TeamColumnTest.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests TeamColumn - * @author Donald G. Dunne - */ -public class TeamColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertEquals("SAW Requirements", - TeamColumn.getInstance().getColumnText(reqArt, TeamColumn.getInstance(), 0)); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertEquals("SAW Code", TeamColumn.getInstance().getColumnText(codeArt, TeamColumn.getInstance(), 0)); - - Artifact actionArt = reqArt.getParentActionArtifact(); - Assert.assertEquals("", TeamColumn.getInstance().getColumnText(actionArt, TeamColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TypeColumnTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TypeColumnTest.java deleted file mode 100644 index 45267759d16..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/column/TypeColumnTest.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.column; - -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; - -/** - * @tests TypeColumn - * @author Donald G. Dunne - */ -public class TypeColumnTest { - - @org.junit.Test - public void testGetColumnText() throws Exception { - SevereLoggingMonitor loggingMonitor = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact reqArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Requirements); - Assert.assertEquals("SAW Requirements Workflow", - TypeColumn.getInstance().getColumnText(reqArt, TypeColumn.getInstance(), 0)); - - TeamWorkFlowArtifact codeArt = - (TeamWorkFlowArtifact) DemoTestUtil.getUncommittedActionWorkflow(DemoWorkType.Code); - Assert.assertEquals("SAW Code Workflow", - TypeColumn.getInstance().getColumnText(codeArt, TypeColumn.getInstance(), 0)); - - Artifact actionArt = reqArt.getParentActionArtifact(); - Assert.assertEquals("Action", TypeColumn.getInstance().getColumnText(actionArt, TypeColumn.getInstance(), 0)); - - TestUtil.severeLoggingEnd(loggingMonitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/AtsBranchConfigurationTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/AtsBranchConfigurationTest.java deleted file mode 100644 index 77fe3a95979..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/AtsBranchConfigurationTest.java +++ /dev/null @@ -1,456 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.config; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.logging.Level; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.api.version.IAtsVersion; -import org.eclipse.osee.ats.api.workdef.IAtsWorkDefinition; -import org.eclipse.osee.ats.core.client.action.ActionManager; -import org.eclipse.osee.ats.core.client.branch.AtsBranchManagerCore; -import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; -import org.eclipse.osee.ats.core.client.config.store.ActionableItemArtifactStore; -import org.eclipse.osee.ats.core.client.config.store.TeamDefinitionArtifactStore; -import org.eclipse.osee.ats.core.client.config.store.VersionArtifactStore; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowManager; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.workflow.ChangeType; -import org.eclipse.osee.ats.core.config.ActionableItems; -import org.eclipse.osee.ats.core.config.AtsConfigCache; -import org.eclipse.osee.ats.core.config.AtsVersionService; -import org.eclipse.osee.ats.editor.SMAEditor; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.ats.util.AtsBranchManager; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.framework.core.data.IOseeBranch; -import org.eclipse.osee.framework.core.data.TokenFactory; -import org.eclipse.osee.framework.core.enums.BranchArchivedState; -import org.eclipse.osee.framework.core.enums.BranchType; -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; -import org.eclipse.osee.framework.core.enums.ModificationType; -import org.eclipse.osee.framework.core.exception.BranchDoesNotExist; -import org.eclipse.osee.framework.core.model.Branch; -import org.eclipse.osee.framework.core.operation.IOperation; -import org.eclipse.osee.framework.core.operation.Operations; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.OseeSystemArtifacts; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; -import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.revision.ChangeData; -import org.eclipse.osee.framework.skynet.core.revision.ChangeData.KindType; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; - -/** - * Run from the ATS Navigator after the DB is configured for either ATS - Dev or Demo - * - * @author Donald G. Dunne - */ -public class AtsBranchConfigurationTest { - - public static final IOseeBranch BRANCH_VIA_TEAM_DEFINITION = TokenFactory.createBranch("AyH_e6damwQgvDhKfAAA", - "BranchViaTeamDef"); - public static final IOseeBranch BRANCH_VIA_VERSIONS = TokenFactory.createBranch("AyH_e6damwQgvDhKfBBB", - "BranchViaVersions"); - private final boolean DEBUG = false; - - private static Collection appendToName(IOseeBranch branch, String... postFixes) { - Collection data = new ArrayList(); - for (String postFix : postFixes) { - data.add(String.format("%s - %s", branch.getName(), postFix)); - } - return data; - } - - private static String asNamespace(IOseeBranch branch) { - return String.format("org.branchTest.%s", branch.getName().toLowerCase()); - } - - @Before - public void testSetup() throws Exception { - if (AtsUtil.isProductionDb()) { - throw new IllegalStateException("BranchConfigThroughTeamDefTest should not be run on production DB"); - } - AtsBulkLoad.loadConfig(true); - - } - - @org.junit.Test - public void testBranchViaVersions() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Running testBranchViaVersions..."); - } - - // Cleanup from previous run - cleanupBranchTest(BRANCH_VIA_VERSIONS); - - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Configuring ATS for team org.branchTest.viaTeamDefs"); - } - - // create team definition and actionable item - String name = BRANCH_VIA_VERSIONS.getName(); - String namespace = asNamespace(BRANCH_VIA_VERSIONS); - Collection versions = appendToName(BRANCH_VIA_VERSIONS, "Ver1", "Ver2"); - Collection actionableItems = appendToName(BRANCH_VIA_VERSIONS, "A1", "A2"); - configureAts(namespace, name, versions, actionableItems); - - // create main branch - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Creating root branch"); - } - // Create SAW_Bld_2 branch off SAW_Bld_1 - Branch viaTeamDefBranch = BranchManager.createTopLevelBranch(BRANCH_VIA_VERSIONS); - - TestUtil.sleep(2000); - - // configure version to use branch and allow create/commit - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Configuring version to use branch and allow create/commit"); - } - IAtsTeamDefinition teamDef = - AtsConfigCache.instance.getSoleByName(BRANCH_VIA_VERSIONS.getName(), IAtsTeamDefinition.class); - IAtsVersion versionToTarget = null; - String version1Hrid = "", version2Hrid = ""; - for (IAtsVersion vArt : teamDef.getVersions()) { - if (vArt.getName().contains("Ver1")) { - versionToTarget = vArt; - version1Hrid = vArt.getHumanReadableId(); - } else { - version2Hrid = vArt.getHumanReadableId(); - } - } - versionToTarget.setBaselineBranchGuid(viaTeamDefBranch.getGuid()); - versionToTarget.setAllowCommitBranch(true); - versionToTarget.setAllowCreateBranch(true); - - VersionArtifactStore verStore = new VersionArtifactStore(versionToTarget); - verStore.save(getClass().getSimpleName()); - - TestUtil.sleep(2000); - - // create action and target for version - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Create new Action and target for version " + versionToTarget); - } - - Collection selectedActionableItems = - ActionableItems.getActionableItems(appendToName(BRANCH_VIA_VERSIONS, "A1")); - Assert.assertFalse(selectedActionableItems.isEmpty()); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); - Artifact actionArt = - ActionManager.createAction(null, BRANCH_VIA_VERSIONS.getName() + " Req Changes", "description", - ChangeType.Problem, "1", false, null, selectedActionableItems, new Date(), AtsUsersClient.getUser(), null, - transaction); - TeamWorkFlowArtifact teamWf = ActionManager.getTeams(actionArt).iterator().next(); - AtsVersionService.get().setTargetedVersionAndStore(teamWf, versionToTarget); - teamWf.persist(transaction); - transaction.execute(); - - TeamWorkFlowManager dtwm = new TeamWorkFlowManager(teamWf); - - // Transition to desired state - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Transitioning to Implement state"); - } - - dtwm.transitionTo(TeamState.Implement, AtsUsersClient.getUser(), false, transaction); - teamWf.persist("Branch Configuration Test"); - - SMAEditor.editArtifact(teamWf); - - // create branch - createBranch(namespace, teamWf); - - // make changes - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Make new requirement artifact"); - } - Artifact rootArtifact = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(teamWf.getWorkingBranch()); - Artifact blk3MainArt = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirement, teamWf.getWorkingBranch(), - BRANCH_VIA_VERSIONS.getName() + " Requirement"); - rootArtifact.addChild(blk3MainArt); - blk3MainArt.persist(getClass().getSimpleName()); - - // commit branch - commitBranch(teamWf); - - TestUtil.sleep(2000); - - // test change report - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Test change report results"); - } - ChangeData changeData = AtsBranchManager.getChangeDataFromEarliestTransactionId(teamWf); - Assert.assertFalse("No changes detected", changeData.isEmpty()); - - Collection newArts = changeData.getArtifacts(KindType.Artifact, ModificationType.NEW); - Assert.assertTrue("Should be 1 new artifact in change report, found " + newArts.size(), newArts.size() == 1); - - TestUtil.severeLoggingEnd(monitor, Arrays.asList( - "Version [[" + version1Hrid + "][BranchViaVersions - Ver1]] has no related team defininition", - "Version [[" + version2Hrid + "][BranchViaVersions - Ver2]] has no related team defininition")); - } - - @org.junit.Test - public void testBranchViaTeamDefinition() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Running testBranchViaTeamDefinition..."); - } - - // Cleanup from previous run - cleanupBranchTest(BRANCH_VIA_TEAM_DEFINITION); - - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Configuring ATS for team org.branchTest.viaTeamDefs"); - // create team definition and actionable item - } - - String name = BRANCH_VIA_TEAM_DEFINITION.getName(); - String namespace = asNamespace(BRANCH_VIA_TEAM_DEFINITION); - Collection versions = null; - Collection actionableItems = appendToName(BRANCH_VIA_TEAM_DEFINITION, "A1", "A2"); - configureAts(namespace, name, versions, actionableItems); - - // create main branch - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Creating root branch"); - } - // Create SAW_Bld_2 branch off SAW_Bld_1 - Branch viaTeamDefBranch = BranchManager.createTopLevelBranch(BRANCH_VIA_TEAM_DEFINITION); - - TestUtil.sleep(2000); - - // configure team def to use branch - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Configuring team def to use branch and allow create/commit"); - } - IAtsTeamDefinition teamDef = - AtsConfigCache.instance.getSoleByName(BRANCH_VIA_TEAM_DEFINITION.getName(), IAtsTeamDefinition.class); - teamDef.setBaselineBranchGuid(viaTeamDefBranch.getGuid()); - // setup team def to allow create/commit of branch - teamDef.setAllowCommitBranch(true); - teamDef.setAllowCreateBranch(true); - teamDef.setTeamUsesVersions(false); - new TeamDefinitionArtifactStore(teamDef).save(getClass().getSimpleName()); - - TestUtil.sleep(2000); - - // create action, - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Create new Action"); - } - Collection selectedActionableItems = - ActionableItems.getActionableItems(appendToName(BRANCH_VIA_TEAM_DEFINITION, "A1")); - Assert.assertFalse(selectedActionableItems.isEmpty()); - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Test branch via team definition: create action"); - String actionTitle = BRANCH_VIA_TEAM_DEFINITION.getName() + " Req Changes"; - Artifact actionArt = - ActionManager.createAction(null, actionTitle, "description", ChangeType.Problem, "1", false, null, - selectedActionableItems, new Date(), AtsUsersClient.getUser(), null, transaction); - transaction.execute(); - - final TeamWorkFlowArtifact teamWf = ActionManager.getTeams(actionArt).iterator().next(); - TeamWorkFlowManager dtwm = new TeamWorkFlowManager(teamWf); - - // Transition to desired state - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Transitioning to Implement state"); - } - dtwm.transitionTo(TeamState.Implement, AtsUsersClient.getUser(), false, transaction); - teamWf.persist("Test branch via team definition: Transition to desired state"); - - // create branch - createBranch(namespace, teamWf); - - // make changes - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Make new requirement artifact"); - } - Artifact rootArtifact = OseeSystemArtifacts.getDefaultHierarchyRootArtifact(teamWf.getWorkingBranch()); - Artifact blk3MainArt = - ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirement, teamWf.getWorkingBranch(), - BRANCH_VIA_TEAM_DEFINITION.getName() + " Requirement"); - rootArtifact.addChild(blk3MainArt); - blk3MainArt.persist(getClass().getSimpleName()); - - // commit branch - commitBranch(teamWf); - - // test change report - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "Test change report results"); - } - ChangeData changeData = AtsBranchManager.getChangeDataFromEarliestTransactionId(teamWf); - Assert.assertTrue("No changes detected", !changeData.isEmpty()); - - Collection newArts = changeData.getArtifacts(KindType.Artifact, ModificationType.NEW); - Assert.assertTrue("Should be 1 new artifact in change report, found " + newArts.size(), newArts.size() == 1); - - TestUtil.severeLoggingEnd(monitor); - } - - public static void cleanupBranchTest(IOseeBranch branch) throws Exception { - String namespace = "org.branchTest." + branch.getName().toLowerCase(); - Artifact aArt = - ArtifactQuery.checkArtifactFromTypeAndName(AtsArtifactTypes.Action, branch.getName() + " Req Changes", - AtsUtil.getAtsBranch()); - if (aArt != null) { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); - for (TeamWorkFlowArtifact teamArt : ActionManager.getTeams(aArt)) { - SMAEditor.close(Collections.singleton(teamArt), false); - teamArt.deleteAndPersist(transaction, true); - } - aArt.deleteAndPersist(transaction, true); - transaction.execute(); - } - - // Delete VersionArtifacts - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); - for (IAtsVersion version : AtsConfigCache.instance.get(IAtsVersion.class)) { - if (version.getName().contains(branch.getName())) { - Artifact artifact = new VersionArtifactStore(version).getArtifact(); - if (artifact != null) { - artifact.deleteAndPersist(transaction); - } - } - AtsConfigCache.instance.decache(version); - } - transaction.execute(); - - // Delete Team Definitions - IAtsTeamDefinition teamDef = AtsConfigCache.instance.getSoleByName(branch.getName(), IAtsTeamDefinition.class); - if (teamDef != null) { - TeamDefinitionArtifactStore teamDefStore = new TeamDefinitionArtifactStore(teamDef); - if (teamDefStore.getArtifact() != null && teamDefStore.getArtifact().isInDb()) { - transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); - teamDefStore.getArtifact().deleteAndPersist(transaction, false); - transaction.execute(); - } - AtsConfigCache.instance.decache(teamDef); - } - - // Delete AIs - IAtsActionableItem aia = AtsConfigCache.instance.getSoleByName(branch.getName(), IAtsActionableItem.class); - if (aia != null) { - transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); - for (IAtsActionableItem childAi : aia.getChildrenActionableItems()) { - new ActionableItemArtifactStore(childAi).getArtifact().deleteAndPersist(transaction, false); - AtsConfigCache.instance.decache(childAi); - } - new ActionableItemArtifactStore(aia).getArtifact().deleteAndPersist(transaction, false); - AtsConfigCache.instance.decache(aia); - transaction.execute(); - } - - // Work Definition - Collection arts = - ArtifactQuery.getArtifactListFromType(AtsArtifactTypes.WorkDefinition, AtsUtil.getAtsBranch()); - if (arts.size() > 0) { - transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Branch Configuration Test"); - for (Artifact workArt : arts) { - if (workArt.getName().startsWith(namespace)) { - workArt.deleteAndPersist(transaction, true); - } - } - transaction.execute(); - } - - try { - BranchManager.refreshBranches(); - // delete working branches - for (Branch workingBranch : BranchManager.getBranches(BranchArchivedState.ALL, BranchType.WORKING)) { - if (workingBranch.getName().contains(branch.getName())) { - BranchManager.purgeBranch(workingBranch); - TestUtil.sleep(2000); - } - } - if (BranchManager.branchExists(branch)) { - BranchManager.purgeBranch(branch); - } - TestUtil.sleep(2000); - - } catch (BranchDoesNotExist ex) { - // do nothing - } - } - - public static void commitBranch(TeamWorkFlowArtifact teamWf) throws Exception { - Job job = - AtsBranchManager.commitWorkingBranch(teamWf, false, true, - AtsBranchManagerCore.getWorkingBranch(teamWf).getParentBranch(), true); - try { - job.join(); - } catch (InterruptedException ex) { - // - } - } - - public static void createBranch(String namespace, TeamWorkFlowArtifact teamWf) throws Exception { - Result result = AtsBranchManagerCore.createWorkingBranch_Validate(teamWf); - if (result.isFalse()) { - AWorkbench.popup(result); - return; - } - AtsBranchManagerCore.createWorkingBranch_Create(teamWf); - TestUtil.sleep(4000); - } - - @After - public void tearDown() throws Exception { - cleanupBranchTest(BRANCH_VIA_VERSIONS); - cleanupBranchTest(BRANCH_VIA_TEAM_DEFINITION); - } - - public static void configureAts(String workDefinitionName, String teamDefName, Collection versionNames, Collection actionableItems) throws Exception { - AtsConfigManager.Display noDisplay = new MockAtsConfigDisplay(); - IOperation operation = - new AtsConfigManager(noDisplay, workDefinitionName, teamDefName, versionNames, actionableItems); - Operations.executeWorkAndCheckStatus(operation); - TestUtil.sleep(2000); - } - - private static final class MockAtsConfigDisplay implements AtsConfigManager.Display { - @Override - public void openAtsConfigurationEditors(IAtsTeamDefinition teamDef, Collection aias, IAtsWorkDefinition workDefinition) { - // Nothing to do - we have no display during testing - } - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/ConfigDataTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/ConfigDataTest.java deleted file mode 100644 index fcb1e19cbab..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/ConfigDataTest.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.config.copy; - -import junit.framework.Assert; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.core.config.ActionableItems; -import org.eclipse.osee.ats.core.config.TeamDefinitions; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.support.test.util.DemoActionableItems; -import org.eclipse.osee.support.test.util.DemoTeam; - -/** - * Test case for {@link ConfigData} - * - * @author Donald G. Dunne - */ -public class ConfigDataTest { - - @org.junit.Test - public void testValidateData() throws Exception { - ConfigData data = new ConfigData(); - XResultData results = new XResultData(false); - data.validateData(results); - Assert.assertTrue(results.isErrors()); - Assert.assertEquals(4, results.getNumErrors()); - - data.setReplaceStr("ReplStr"); - data.setSearchStr("SrchStr"); - IAtsTeamDefinition tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_SW); - data.setTeamDef(tda); - IAtsActionableItem aia = DemoTestUtil.getActionableItem(DemoActionableItems.CIS_Code); - data.setActionableItem(aia); - results.clear(); - data.validateData(results); - Assert.assertFalse(results.isErrors()); - } - - @org.junit.Test - public void testGetSetTeamDefinition() throws Exception { - ConfigData data = new ConfigData(); - IAtsTeamDefinition tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_SW); - data.setTeamDef(tda); - Assert.assertEquals(tda, data.getTeamDef()); - } - - @org.junit.Test - public void testGetAiArts() throws Exception { - ConfigData data = new ConfigData(); - IAtsActionableItem aia = DemoTestUtil.getActionableItem(DemoActionableItems.CIS_Code); - data.setActionableItem(aia); - Assert.assertEquals(aia, data.getActionableItem()); - } - - @org.junit.Test - public void testParentTeamDefinition() throws Exception { - ConfigData data = new ConfigData(); - IAtsTeamDefinition tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_Code); - data.setTeamDef(tda); - Assert.assertEquals(DemoTestUtil.getTeamDef(DemoTeam.CIS_SW), data.getParentTeamDef()); - - tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_SW); - data.setTeamDef(tda); - Assert.assertEquals(TeamDefinitions.getTopTeamDefinition(), data.getParentTeamDef()); - } - - @org.junit.Test - public void testParentActionableItem() throws Exception { - ConfigData data = new ConfigData(); - IAtsTeamDefinition tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_Code); - data.setTeamDef(tda); - Assert.assertEquals(DemoTestUtil.getActionableItem(DemoActionableItems.CIS_CSCI), data.getParentActionableItem()); - - tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_SW); - data.setTeamDef(tda); - Assert.assertEquals(ActionableItems.getTopActionableItem(), data.getParentActionableItem()); - - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsConfigurationOperationTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsConfigurationOperationTest.java deleted file mode 100644 index 43eb6c6c1a3..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsConfigurationOperationTest.java +++ /dev/null @@ -1,77 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.config.copy; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.config.AtsObjectsClient; -import org.eclipse.osee.ats.core.config.AtsConfigCache; -import org.eclipse.osee.ats.core.config.TeamDefinitions; -import org.eclipse.osee.ats.health.ValidateAtsDatabase; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.operation.Operations; -import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.framework.jdk.core.type.CountingMap; -import org.eclipse.osee.framework.jdk.core.type.HashCollection; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * @author Donald G. Dunne - */ -public class CopyAtsConfigurationOperationTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws Exception { - AtsTestUtil.cleanupSimpleTest("CISv2"); - } - - @Test - public void testDoWork() throws OseeCoreException { - ConfigData data = CopyAtsValidationTest.getConfigData(); - - XResultData rd = new XResultData(false); - CopyAtsConfigurationOperation operation = new CopyAtsConfigurationOperation(data, rd); - Operations.executeWork(operation); - Assert.assertFalse(rd.isErrors()); - - Collection teamDefs = TeamDefinitions.getTeamDefinitionsNameStartsWith("CISv2"); - Assert.assertEquals(5, teamDefs.size()); - - Collection ais = getActionableItemsNameStartsWith("CISv2"); - Assert.assertEquals(5, ais.size()); - - HashCollection testNameToResultsMap = new HashCollection(); - CountingMap testNameToTimeSpentMap = new CountingMap(); - Collection aiaArts = AtsObjectsClient.getArtifacts(ais); - ValidateAtsDatabase.testActionableItemToTeamDefinition(aiaArts, testNameToResultsMap, testNameToTimeSpentMap); - Assert.assertEquals(0, testNameToResultsMap.size()); - } - - public static Set getActionableItemsNameStartsWith(String prefix) { - Set artifacts = new HashSet(); - for (IAtsActionableItem aia : AtsConfigCache.instance.get(IAtsActionableItem.class)) { - if (aia.getName().startsWith(prefix)) { - artifacts.add(aia); - } - } - return artifacts; - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsUtilTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsUtilTest.java deleted file mode 100644 index e31c02cdea8..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsUtilTest.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.config.copy; - -import junit.framework.Assert; - -/** - * Test case for {@link CopyAtsUtil} - * - * @author Donald G. Dunne - */ -public class CopyAtsUtilTest { - - @org.junit.Test - public void testGetConvertedName() throws Exception { - ConfigData data = new ConfigData(); - data.setReplaceStr("ReplStr"); - data.setSearchStr("SrchStr"); - - Assert.assertEquals("ReplStr is the one", CopyAtsUtil.getConvertedName(data, "SrchStr is the one")); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsValidationTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsValidationTest.java deleted file mode 100644 index bd146107be2..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/config/copy/CopyAtsValidationTest.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.config.copy; - -import junit.framework.Assert; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.support.test.util.DemoActionableItems; -import org.eclipse.osee.support.test.util.DemoTeam; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test case for {@link CopyAtsValidation} - * - * @author Donald G. Dunne - */ -public class CopyAtsValidationTest { - - @BeforeClass - public static void setup() throws Exception { - DemoTestUtil.setUpTest(); - } - - @Test - public void testValidate() throws OseeCoreException { - - // set name to one that can't be converted - ConfigData data = getConfigData(); - IAtsActionableItem ai = data.getActionableItem(); - String origName = ai.getName(); - ai.setName("CSCI"); - - XResultData results = new XResultData(false); - data.setActionableItem(ai); - CopyAtsValidation validation = new CopyAtsValidation(data, results); - validation.validate(); - Assert.assertTrue(results.isErrors()); - Assert.assertEquals(1, results.getNumErrors()); - - // reset name to normal - ai.setName(origName); - - results.clear(); - validation.validate(); - Assert.assertFalse(results.isErrors()); - Assert.assertEquals(0, results.getNumErrors()); - } - - public static ConfigData getConfigData() throws OseeCoreException { - ConfigData data = new ConfigData(); - data.setReplaceStr("CISv2"); - data.setSearchStr("CIS"); - IAtsTeamDefinition tda = DemoTestUtil.getTeamDef(DemoTeam.CIS_SW); - data.setTeamDef(tda); - IAtsActionableItem aiArt = DemoTestUtil.getActionableItem(DemoActionableItems.CIS_CSCI); - data.setActionableItem(aiArt); - data.setRetainTeamLeads(true); - data.setPersistChanges(true); - return data; - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/SMAPrintTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/SMAPrintTest.java deleted file mode 100644 index 0c42c0a68ec..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/SMAPrintTest.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.editor; - -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.review.ReviewManager; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; -import org.junit.Test; - -/** - * Demo test that will run the SMAPrint action against Demo populated actions to ensure that nothing has broken.This - * test simply runs the html generation portion of SMAPrint, ensures the results are of a reasonable length and looks - * for exceptions at the end. - * - * @author Donald G. Dunne - */ -public class SMAPrintTest { - - @Test - public void testSMAPrint() throws Exception { - SevereLoggingMonitor monitorLog = TestUtil.severeLoggingStart(); - - TeamWorkFlowArtifact teamArt = - (TeamWorkFlowArtifact) ArtifactQuery.getArtifactFromTypeAndName(DemoArtifactTypes.DemoCodeTeamWorkflow, - "SAW (uncommitted) More Reqt Changes for Diagram View", AtsUtil.getAtsBranch()); - Assert.assertNotNull(teamArt); - - SMAPrint smaPrint = new SMAPrint(teamArt); - XResultData resultData = smaPrint.getResultData(); - Assert.assertNotNull(resultData); - // Make sure it's a reasonable length - Assert.assertTrue(XResultDataUI.getReport(resultData, "report").getManipulatedHtml().length() > 5800); - - PeerToPeerReviewArtifact peerArt = (PeerToPeerReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next(); - smaPrint = new SMAPrint(peerArt); - resultData = smaPrint.getResultData(); - Assert.assertNotNull(resultData); - // Make sure it's a reasonable length - Assert.assertTrue( - "Expected > 3500 chars, was " + XResultDataUI.getReport(resultData, "report").getManipulatedHtml().length(), - XResultDataUI.getReport(resultData, "report").getManipulatedHtml().length() > 3500); - - TaskArtifact taskArt = null; - for (TaskArtifact taskArtifact : teamArt.getTaskArtifacts()) { - if (taskArtifact.getName().equals("Deploy release")) { - taskArt = taskArtifact; - } - } - Assert.assertNotNull(taskArt); - smaPrint = new SMAPrint(taskArt); - resultData = smaPrint.getResultData(); - Assert.assertNotNull(resultData); - // Make sure it's a reasonable length - Assert.assertTrue(XResultDataUI.getReport(resultData, "report").getManipulatedHtml().length() > 2600); - - teamArt = - (TeamWorkFlowArtifact) ArtifactQuery.getArtifactFromTypeAndName(AtsArtifactTypes.TeamWorkflow, - "Button S doesn't work on help", AtsUtil.getAtsBranch()); - Assert.assertNotNull(teamArt); - DecisionReviewArtifact decArt = (DecisionReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next(); - smaPrint = new SMAPrint(decArt); - resultData = smaPrint.getResultData(); - Assert.assertNotNull(resultData); - // Make sure it's a reasonable length - Assert.assertTrue(XResultDataUI.getReport(resultData, "report").getManipulatedHtml().length() > 2900); - - TestUtil.severeLoggingEnd(monitorLog); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java deleted file mode 100644 index 1815d19d291..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewDecisionStateItemTest.java +++ /dev/null @@ -1,137 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.editor.stateItem; - -import static org.junit.Assert.assertFalse; -import java.util.Collection; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; -import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; -import org.eclipse.osee.ats.core.client.review.DecisionReviewState; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.mocks.MockStateDefinition; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; -import org.eclipse.osee.framework.ui.skynet.widgets.XComboDam; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test Case for {@link AtsDecisionReviewDecisionStateItem} - * - * @author Donald G. Dunne - */ -public class AtsDecisionReviewDecisionStateItemTest { - - public static DecisionReviewArtifact decRevArt; - - @Before - public void setUp() throws Exception { - // This test should only be run on test db - assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); - - if (decRevArt == null) { - // setup fake review artifact with decision options set - decRevArt = - (DecisionReviewArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.DecisionReview, - AtsUtil.getAtsBranch()); - decRevArt.setName(getClass().getSimpleName()); - decRevArt.setSoleAttributeValue( - AtsAttributeTypes.DecisionReviewOptions, - DecisionReviewManager.getDecisionReviewOptionsString(DecisionReviewManager.getDefaultDecisionReviewOptions())); - decRevArt.persist(getClass().getSimpleName()); - } - } - - @BeforeClass - @AfterClass - public static void testCleanup() throws Exception { - AtsTestUtil.cleanupSimpleTest(AtsDecisionReviewDecisionStateItemTest.class.getSimpleName()); - } - - @Test - public void testXWidgetCreating() throws OseeCoreException { - Assert.assertNotNull(decRevArt); - - // setup fake combo that will hold values - XComboDam decisionComboDam = new XComboDam("Decision"); - // set combo values an verify they got set - decisionComboDam.setDataStrings(new String[] {"One", "Two", "Three"}); - IAtsStateDefinition stateDef = new MockStateDefinition("Decision"); - Assert.assertEquals("Two", decisionComboDam.getDisplayArray()[2]); - - // make call to state item that should set options based on artifact's attribute value - AtsDecisionReviewDecisionStateItem stateItem = new AtsDecisionReviewDecisionStateItem(); - Result result = stateItem.xWidgetCreating(decisionComboDam, null, stateDef, decRevArt, true); - - // verify no errors and options are as specified in artifact's attribute - Assert.assertTrue(result.getText(), result.isTrue()); - Assert.assertEquals("Yes", decisionComboDam.getDisplayArray()[1]); - Assert.assertEquals("No", decisionComboDam.getDisplayArray()[2]); - } - - @Test - public void testGetOverrideTransitionToAssignees() throws OseeCoreException { - Assert.assertNotNull(decRevArt); - - // setup fake combo that will hold values - XComboDam decisionComboDam = new XComboDam("Decision"); - // set combo values an verify they got set - decisionComboDam.setDataStrings(new String[] {"Yes", "No"}); - - // Set Yes - decisionComboDam.set(1); - - AtsDecisionReviewDecisionStateItem stateItem = new AtsDecisionReviewDecisionStateItem(); - Collection users = stateItem.getOverrideTransitionToAssignees(decRevArt, decisionComboDam.get()); - Assert.assertEquals(1, users.size()); - Assert.assertEquals(AtsUsersClient.getUser(), users.iterator().next()); - - // Set No - decisionComboDam.set(2); - - users = stateItem.getOverrideTransitionToAssignees(decRevArt, decisionComboDam.get()); - Assert.assertTrue(users.isEmpty()); - } - - @Test - public void testGetOverrideTransitionToStateName() throws OseeCoreException { - Assert.assertNotNull(decRevArt); - - // setup fake combo that will hold values - XComboDam decisionComboDam = new XComboDam("Decision"); - // set combo values an verify they got set - decisionComboDam.setDataStrings(new String[] {"Yes", "No"}); - - // Set Yes - decisionComboDam.set(1); - - AtsDecisionReviewDecisionStateItem stateItem = new AtsDecisionReviewDecisionStateItem(); - String toStateName = stateItem.getOverrideTransitionToStateName(decRevArt, decisionComboDam); - Assert.assertEquals(DecisionReviewState.Followup.getName(), toStateName); - - // Set No - decisionComboDam.set(2); - - toStateName = stateItem.getOverrideTransitionToStateName(decRevArt, decisionComboDam); - Assert.assertEquals(DecisionReviewState.Completed.getName(), toStateName); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java deleted file mode 100644 index 4ca435d3e93..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsDecisionReviewPrepareStateItemTest.java +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.editor.stateItem; - -import static org.junit.Assert.assertFalse; -import java.util.Arrays; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.workdef.IStateToken; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; -import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; -import org.eclipse.osee.ats.core.client.review.DecisionReviewState; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test Case for {@link AtsDecisionReviewPrepareStateItem} - * - * @author Donald G. Dunne - */ -public class AtsDecisionReviewPrepareStateItemTest { - - public static DecisionReviewArtifact decRevArt; - - @Before - public void setUp() throws Exception { - // This test should only be run on test db - assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); - - if (decRevArt == null) { - // setup fake review artifact with decision options set - decRevArt = - (DecisionReviewArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.DecisionReview, - AtsUtil.getAtsBranch()); - decRevArt.setName(getClass().getSimpleName()); - decRevArt.persist(getClass().getSimpleName()); - } - } - - @BeforeClass - @AfterClass - public static void testCleanup() throws Exception { - AtsTestUtil.cleanupSimpleTest(AtsDecisionReviewPrepareStateItemTest.class.getSimpleName()); - } - - @Test - public void testTransitioning() throws OseeCoreException { - Assert.assertNotNull(decRevArt); - - // set valid options - String decisionOptionStr = - DecisionReviewManager.getDecisionReviewOptionsString(DecisionReviewManager.getDefaultDecisionReviewOptions()); - decRevArt.setSoleAttributeValue(AtsAttributeTypes.DecisionReviewOptions, decisionOptionStr); - decRevArt.persist(getClass().getSimpleName()); - - IStateToken fromState = decRevArt.getWorkDefinition().getStateByName(DecisionReviewState.Prepare.getName()); - IStateToken toState = decRevArt.getWorkDefinition().getStateByName(DecisionReviewState.Decision.getName()); - - // make call to state item that should set options based on artifact's attribute value - AtsDecisionReviewPrepareStateItem stateItem = new AtsDecisionReviewPrepareStateItem(); - TransitionResults results = new TransitionResults(); - stateItem.transitioning(results, decRevArt, fromState, toState, Arrays.asList(AtsUsersClient.getUser())); - - // verify no errors - Assert.assertTrue(results.toString(), results.isEmpty()); - - // set invalid options; NoState is invalid, should only be Completed or FollowUp - decisionOptionStr = decisionOptionStr.replaceFirst("Completed", "NoState"); - decRevArt.setSoleAttributeValue(AtsAttributeTypes.DecisionReviewOptions, decisionOptionStr); - decRevArt.persist(getClass().getSimpleName()); - stateItem.transitioning(results, decRevArt, fromState, toState, Arrays.asList(AtsUsersClient.getUser())); - Assert.assertTrue(results.contains("Invalid Decision Option")); - - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java deleted file mode 100644 index 1ceea13ff6f..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsForceAssigneesToTeamLeadsStateItemTest.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.editor.stateItem; - -import static org.junit.Assert.assertFalse; -import java.util.Arrays; -import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; -import org.eclipse.osee.ats.api.workdef.IStateToken; -import org.eclipse.osee.ats.api.workdef.RuleDefinitionOption; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test Case for {@link AtsForceAssigneesToTeamLeadsStateItem} - * - * @author Donald G. Dunne - */ -public class AtsForceAssigneesToTeamLeadsStateItemTest { - - private static final String JOE_SMITH = "Joe Smith"; - private static final String ALEX_KAY = "Alex Kay"; - - private static TeamWorkFlowArtifact teamArt; - - @Before - public void setUp() throws Exception { - // This test should only be run on test db - assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); - - if (teamArt == null) { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName()); - teamArt = DemoTestUtil.createSimpleAction(getClass().getSimpleName(), transaction); - transaction.execute(); - } - } - - @BeforeClass - @AfterClass - public static void testCleanup() throws Exception { - // Test adds the atsForceAssigneesToTeamLeads; remove it before and after test - if (teamArt != null) { - // IAtsStateDefinition authStateDef = teamArt.getWorkDefinition().getStateByName(TeamState.Authorize.getName()); - // authStateDef.removeRule(RuleDefinitionOption.ForceAssigneesToTeamLeads.name()); - } - - AtsTestUtil.cleanupSimpleTest(AtsForceAssigneesToTeamLeadsStateItemTest.class.getSimpleName()); - } - - @Test - public void testTransitioned() throws OseeCoreException { - Assert.assertNotNull(teamArt); - - // assignee should be Joe Smith - Assert.assertEquals(1, teamArt.getStateMgr().getAssignees().size()); - Assert.assertEquals(AtsUsersClient.getUserByName(JOE_SMITH), - teamArt.getStateMgr().getAssignees().iterator().next()); - - // set assignee to Alex Kay - teamArt.getStateMgr().setAssignee(AtsUsersClient.getUserByName(ALEX_KAY)); - teamArt.persist(getClass().getSimpleName()); - Assert.assertEquals(1, teamArt.getStateMgr().getAssignees().size()); - Assert.assertEquals(AtsUsersClient.getUserByName(ALEX_KAY), - teamArt.getStateMgr().getAssignees().iterator().next()); - - IStateToken fromState = teamArt.getWorkDefinition().getStateByName(TeamState.Analyze.getName()); - IStateToken toState = teamArt.getWorkDefinition().getStateByName(TeamState.Authorize.getName()); - - IAtsStateDefinition authStateDef = teamArt.getWorkDefinition().getStateByName(TeamState.Authorize.getName()); - authStateDef.getRules().add(RuleDefinitionOption.ForceAssigneesToTeamLeads.name()); - - // make call to state item that should set options based on artifact's attribute value - AtsForceAssigneesToTeamLeadsStateItem stateItem = new AtsForceAssigneesToTeamLeadsStateItem(); - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName()); - stateItem.transitioned(teamArt, fromState, toState, Arrays.asList(AtsUsersClient.getUser()), transaction); - transaction.execute(); - - // assignee should be Joe Smith - Assert.assertEquals(1, teamArt.getStateMgr().getAssignees().size()); - Assert.assertEquals(AtsUsersClient.getUserByName(JOE_SMITH), - teamArt.getStateMgr().getAssignees().iterator().next()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java deleted file mode 100644 index abcb3c5079d..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewPrepareStateItemTest.java +++ /dev/null @@ -1,99 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.editor.stateItem; - -import static org.junit.Assert.assertFalse; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewState; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager; -import org.eclipse.osee.framework.ui.skynet.widgets.XComboDam; -import org.eclipse.osee.support.test.util.DemoActionableItems; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.PlatformUI; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test Case for {@link AtsPeerToPeerReviewPrepareStateItem} - * - * @author Donald G. Dunne - */ -public class AtsPeerToPeerReviewPrepareStateItemTest { - - public static PeerToPeerReviewArtifact peerRevArt; - - @Before - public void setUp() throws Exception { - // This test should only be run on test db - assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); - - if (peerRevArt == null) { - // setup fake review artifact with decision options set - peerRevArt = - (PeerToPeerReviewArtifact) ArtifactTypeManager.addArtifact(AtsArtifactTypes.PeerToPeerReview, - AtsUtil.getAtsBranch()); - peerRevArt.setName(getClass().getSimpleName()); - // Setup actionable item so don't get error that there is no parent team workflow - peerRevArt.getActionableItemsDam().addActionableItem( - DemoTestUtil.getActionableItem(DemoActionableItems.CIS_Code)); - peerRevArt.persist(getClass().getSimpleName()); - } - } - - @BeforeClass - @AfterClass - public static void testCleanup() throws Exception { - AtsTestUtil.cleanupSimpleTest(AtsPeerToPeerReviewPrepareStateItemTest.class.getSimpleName()); - } - - @Test - public void testTransitioning() throws OseeCoreException { - Assert.assertNotNull(peerRevArt); - - // setup fake combo that will hold values - XComboDam decisionComboDam = new XComboDam(AtsAttributeTypes.ReviewBlocks.getUnqualifiedName()); - decisionComboDam.setDataStrings(new String[] {"None", "Transition", "Commit"}); - Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); - Composite comp = new Composite(shell, SWT.None); - decisionComboDam.createWidgets(comp, SWT.NONE); - decisionComboDam.setEnabled(true); - decisionComboDam.setRequiredEntry(true); - - // verify enabled and required (Default) - Assert.assertNull(peerRevArt.getParentAWA()); // condition that causes combo to disable - Assert.assertTrue(decisionComboDam.getComboBox().isEnabled()); - Assert.assertTrue(decisionComboDam.isRequiredEntry()); - - IAtsStateDefinition reviewStateDef = - peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Prepare.getName()); - - // make call to state item that should - AtsPeerToPeerReviewPrepareStateItem stateItem = new AtsPeerToPeerReviewPrepareStateItem(); - stateItem.xWidgetCreated(decisionComboDam, null, reviewStateDef, peerRevArt, true); - - // verify the decision combo has been disabled - Assert.assertFalse(decisionComboDam.getComboBox().isEnabled()); - Assert.assertFalse(decisionComboDam.isRequiredEntry()); - - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java deleted file mode 100644 index a26f683357b..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/editor/stateItem/AtsPeerToPeerReviewReviewStateItemTest.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.editor.stateItem; - -import static org.junit.Assert.assertFalse; -import java.util.Arrays; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.api.workdef.IStateToken; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewArtifact; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewManager; -import org.eclipse.osee.ats.core.client.review.PeerToPeerReviewState; -import org.eclipse.osee.ats.core.client.review.role.Role; -import org.eclipse.osee.ats.core.client.review.role.UserRole; -import org.eclipse.osee.ats.core.client.review.role.UserRoleManager; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test Case for {@link AtsPeerToPeerReviewReviewStateItem} - * - * @author Donald G. Dunne - */ -public class AtsPeerToPeerReviewReviewStateItemTest { - - public static PeerToPeerReviewArtifact peerRevArt; - - @Before - public void setUp() throws Exception { - // This test should only be run on test db - assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); - - if (peerRevArt == null) { - // setup fake review artifact with decision options set - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), getClass().getSimpleName()); - peerRevArt = PeerToPeerReviewManager.createNewPeerToPeerReview(null, getClass().getName(), "", transaction); - peerRevArt.setName(getClass().getSimpleName()); - peerRevArt.persist(transaction); - transaction.execute(); - } - } - - @BeforeClass - @AfterClass - public static void testCleanup() throws Exception { - AtsTestUtil.cleanupSimpleTest(AtsPeerToPeerReviewReviewStateItemTest.class.getSimpleName()); - } - - @Test - public void testTransitioned() throws OseeCoreException { - Assert.assertNotNull(peerRevArt); - - // assignee should be user creating review - Assert.assertEquals(1, peerRevArt.getStateMgr().getAssignees().size()); - Assert.assertEquals(AtsUsersClient.getUser(), peerRevArt.getStateMgr().getAssignees().iterator().next()); - - // set roles - UserRole userRole = new UserRole(Role.Author, AtsUsersClient.getUserByName("Joe Smith")); - UserRoleManager roleMgr = new UserRoleManager(peerRevArt); - roleMgr.addOrUpdateUserRole(userRole); - userRole = new UserRole(Role.Reviewer, AtsUsersClient.getUserByName("Alex Kay")); - SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "test transition"); - roleMgr.addOrUpdateUserRole(userRole); - roleMgr.saveToArtifact(transaction); - transaction.execute(); - - // assignee should be user roles - Assert.assertEquals(2, peerRevArt.getStateMgr().getAssignees().size()); - - // change assignees back to single user so can test transition - peerRevArt.getStateMgr().setAssignee(AtsUsersClient.getUser()); - peerRevArt.persist(getClass().getSimpleName()); - Assert.assertEquals(1, peerRevArt.getStateMgr().getAssignees().size()); - Assert.assertEquals(AtsUsersClient.getUser(), peerRevArt.getStateMgr().getAssignees().iterator().next()); - - IStateToken fromState = peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Prepare.getName()); - IStateToken toState = peerRevArt.getWorkDefinition().getStateByName(PeerToPeerReviewState.Review.getName()); - - // make call to state item that should set options based on artifact's attribute value - AtsPeerToPeerReviewReviewStateItem stateItem = new AtsPeerToPeerReviewReviewStateItem(); - transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "test transition"); - stateItem.transitioned(peerRevArt, fromState, toState, Arrays.asList(AtsUsersClient.getUser()), transaction); - transaction.execute(); - - // Joe and Alex should have been added to assignees - Assert.assertEquals(2, peerRevArt.getStateMgr().getAssignees().size()); - boolean joeFound = false, alexFound = false; - for (IAtsUser user : peerRevArt.getStateMgr().getAssignees()) { - if (user.getName().equals("Joe Smith")) { - joeFound = true; - } - if (user.getName().equals("Alex Kay")) { - alexFound = true; - } - } - Assert.assertTrue("Joe should have been added as assignee", joeFound); - Assert.assertTrue("Alex should have been added as assignee", alexFound); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/health/AtsValidateAtsDatabaseTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/health/AtsValidateAtsDatabaseTest.java deleted file mode 100644 index 2e30989f177..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/health/AtsValidateAtsDatabaseTest.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.health; - -import static org.junit.Assert.fail; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; -import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.ui.skynet.results.XResultDataUI; -import org.eclipse.osee.support.test.util.TestUtil; - -/** - * This test runs the validate ats database check against whatever database is run against. - * - * @author Donald G. Dunne - */ -public class AtsValidateAtsDatabaseTest { - - public AtsValidateAtsDatabaseTest() { - AtsBulkLoad.loadConfig(true); - } - - @org.junit.Test - public void testValidateAtsDatabase() throws Exception { - SevereLoggingMonitor monitorLog = TestUtil.severeLoggingStart(); - - ValidateAtsDatabase validateAtsDatabase = new ValidateAtsDatabase(null); - XResultData rd = new XResultData(); - validateAtsDatabase.setFixAssignees(false); - validateAtsDatabase.setFixAttributeValues(false); - validateAtsDatabase.runIt(null, rd); - Matcher m = Pattern.compile("Error:.*$").matcher(XResultDataUI.getReport(rd, "").getManipulatedHtml()); - while (m.find()) { - fail(m.group()); - } - - TestUtil.severeLoggingEnd(monitorLog); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToMassEditorTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToMassEditorTest.java deleted file mode 100644 index 1437c35f79c..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToMassEditorTest.java +++ /dev/null @@ -1,97 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.navigate; - -import java.util.Collection; -import java.util.Collections; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.core.config.TeamDefinitions; -import org.eclipse.osee.ats.task.TaskEditor; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.ats.util.NavigateTestUtil; -import org.eclipse.osee.ats.version.MassEditTeamVersionItem; -import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; -import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor; -import org.eclipse.osee.support.test.util.TestUtil; -import org.eclipse.ui.IEditorReference; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.PlatformUI; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * @author Donald G. Dunne - */ -public class AtsNavigateItemsToMassEditorTest { - - @BeforeClass - public static void setup() throws Exception { - DemoTestUtil.setUpTest(); - } - - @org.junit.Test - public void testTeamVersions() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - closeTaskEditors(); - MassArtifactEditor.closeAll(); - - XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Team Versions"); - Assert.assertTrue(item instanceof MassEditTeamVersionItem); - MassEditTeamVersionItem massEditItem = ((MassEditTeamVersionItem) item); - - Collection teamDefs = - TeamDefinitions.getTeamDefinitions(Collections.singleton("SAW SW")); - Assert.assertNotNull(teamDefs); - Assert.assertFalse(teamDefs.isEmpty()); - - massEditItem.setSelectedTeamDef(teamDefs.iterator().next()); - handleGeneralDoubleClickAndTestResults(item, AtsArtifactTypes.Version, 3); - - TestUtil.severeLoggingEnd(monitor); - } - - private void handleGeneralDoubleClickAndTestResults(XNavigateItem item, IArtifactType artifactType, int numOfType) throws Exception { - item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI); - MassArtifactEditor massEditor = getMassArtifactEditor(); - Assert.assertNotNull(massEditor); - Collection arts = massEditor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, artifactType, numOfType); - } - - private MassArtifactEditor getMassArtifactEditor() { - IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - IEditorReference editors[] = page.getEditorReferences(); - for (int j = 0; j < editors.length; j++) { - IEditorReference editor = editors[j]; - if (editor.getPart(false) instanceof MassArtifactEditor) { - return (MassArtifactEditor) editor.getPart(false); - } - } - return null; - } - - private void closeTaskEditors() { - IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - IEditorReference editors[] = page.getEditorReferences(); - for (int j = 0; j < editors.length; j++) { - IEditorReference editor = editors[j]; - if (editor.getPart(false) instanceof TaskEditor) { - page.closeEditor((TaskEditor) editor.getPart(false), false); - } - } - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToTaskEditorTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToTaskEditorTest.java deleted file mode 100644 index 3a2a6481e68..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToTaskEditorTest.java +++ /dev/null @@ -1,159 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.navigate; - -import static org.junit.Assert.assertTrue; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.core.config.TeamDefinitions; -import org.eclipse.osee.ats.task.TaskEditor; -import org.eclipse.osee.ats.task.TaskXViewer; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.CustomizeDemoTableTestUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.ats.util.NavigateTestUtil; -import org.eclipse.osee.ats.world.search.TaskSearchWorldSearchItem; -import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.core.enums.Active; -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.UserManager; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; -import org.eclipse.osee.framework.ui.skynet.widgets.util.IDynamicWidgetLayoutListener; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.eclipse.osee.support.test.util.TestUtil; - -/** - * @author Donald G. Dunne - */ -public class AtsNavigateItemsToTaskEditorTest { - - @org.junit.Test - public void testDemoDatabase() throws Exception { - DemoTestUtil.setUpTest(); - } - - @org.junit.Test - public void testMyTasksEditor() throws Exception { - TaskEditor.closeAll(); - // Place holder for future navigate items opening TaskEditor - // XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("My Tasks (Editor)"); - // handleGeneralDoubleClickAndTestResults(item, TaskArtifact.class, DemoDbTasks.getNumTasks()); - } - - @org.junit.Test - public void testTaskSearch() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - Collection selectedUsers = TeamDefinitions.getTeamTopLevelDefinitions(Active.Active); - TaskEditor.closeAll(); - XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Task Search"); - assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof TaskSearchWorldSearchItem); - handleGeneralDoubleClickAndTestResults(item, CoreArtifactTypes.Artifact, 0, TableLoadOption.DontCopySearchItem); - runGeneralTaskSearchOnCompletedCancelledTest(item, true, 14); - runGeneralTaskSearchOnCompletedCancelledTest(item, false, 0); - runGeneralTaskSearchOnTeamTest(item, selectedUsers, 0); - selectedUsers.clear(); - List teamDefs = new ArrayList(); - teamDefs.add("SAW Code"); - Set tda = TeamDefinitions.getTeamDefinitions(teamDefs); - runGeneralTaskSearchOnTeamTest(item, tda, 14); - runGeneralTaskSearchOnAssigneeTest(item, "Joe Smith", 14); - runGeneralTaskSearchOnVersionTest(item, DemoSawBuilds.SAW_Bld_1.getName(), 0); - runGeneralTaskSearchOnVersionTest(item, DemoSawBuilds.SAW_Bld_2.getName(), 14); - selectedUsers.clear(); - runGeneralTaskSearchOnTeamTest(item, selectedUsers, 14); - runGeneralTaskSearchOnAssigneeTest(item, "Kay Jones", 8); - - TestUtil.severeLoggingEnd(monitor); - } - - public void runGeneralTaskSearchTest(XNavigateItem item, int expectedNum) throws Exception { - TaskEditor editor = getSingleEditorOrFail(); - editor.getTaskActionPage().reSearch(); - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), expectedNum, arts.size()); - } - - public void runGeneralTaskSearchOnAssigneeTest(XNavigateItem item, String assignee, int expectedNum) throws Exception { - TaskEditor editor = getSingleEditorOrFail(); - ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).setSelectedUser(UserManager.getUserByName(assignee)); - runGeneralTaskSearchTest(item, expectedNum); - } - - public void runGeneralTaskSearchOnTeamTest(XNavigateItem item, Collection selectedUsers, int expectedNum) throws Exception { - // need to set team selected users - TaskEditor editor = getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getTaskActionPage().getDynamicWidgetLayoutListener(); - ((TaskSearchWorldSearchItem) dwl).setSelectedTeamDefinitions(selectedUsers); - runGeneralTaskSearchTest(item, expectedNum); - } - - public void runGeneralTaskSearchOnVersionTest(XNavigateItem item, String versionString, int expectedNum) throws Exception { - TaskEditor editor = getSingleEditorOrFail(); - ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).setVersion(versionString); - runGeneralTaskSearchTest(item, expectedNum); - } - - public void runGeneralTaskSearchOnCompletedCancelledTest(XNavigateItem item, boolean selected, int expectedNum) throws Exception { - Artifact groupArt = - ArtifactQuery.getArtifactFromTypeAndName(CoreArtifactTypes.UniversalGroup, "Test Group", - AtsUtil.getAtsBranch()); - Set selectedUsers = new HashSet(); - TaskEditor editor = getSingleEditorOrFail(); - ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).setIncludeCompletedCheckbox(selected); - ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).setIncludeCancelledCheckbox(selected); - if (selected) { - // select the group - selectedUsers.add(groupArt); - ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).setSelectedGroups(selectedUsers); - } else { - // clear the group selected - ((TaskSearchWorldSearchItem) editor.getTaskActionPage().getDynamicWidgetLayoutListener()).handleSelectedGroupsClear(); - } - runGeneralTaskSearchTest(item, expectedNum); - } - - public void handleGeneralDoubleClickAndTestResults(XNavigateItem item, IArtifactType artifactType, int numOfType, TableLoadOption tableLoadOption) throws Exception { - item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI, tableLoadOption); - TaskEditor taskEditor = getSingleEditorOrFail(); - assertTrue(taskEditor != null); - Collection arts = taskEditor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, artifactType, numOfType); - } - - public TaskEditor getSingleEditorOrFail() { - // Retrieve results from opened editor and test - Collection editors = TaskEditor.getEditors(); - assertTrue("Expecting 1 editor open, currently " + editors.size(), editors.size() == 1); - - return editors.iterator().next(); - } - - public TaskXViewer getXViewer() { - return getSingleEditorOrFail().getTaskActionPage().getTaskComposite().getTaskXViewer(); - } - - public void handleTableCustomization() { - // add all columns - CustomizeDemoTableTestUtil cdialog = new CustomizeDemoTableTestUtil(getXViewer()); - cdialog.createDialogArea(getSingleEditorOrFail().getTaskActionPage().getTaskComposite()); - cdialog.handleAddAllItemButtonClick(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToWorldViewTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToWorldViewTest.java deleted file mode 100644 index 20e0adf0824..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsNavigateItemsToWorldViewTest.java +++ /dev/null @@ -1,701 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.navigate; - -import static org.junit.Assert.assertTrue; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.logging.Level; -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.nebula.widgets.xviewer.XViewer; -import org.eclipse.nebula.widgets.xviewer.XViewerColumn; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.api.version.IAtsVersion; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.config.ActionableItems; -import org.eclipse.osee.ats.core.config.AtsConfigCache; -import org.eclipse.osee.ats.core.config.TeamDefinitions; -import org.eclipse.osee.ats.editor.SMAEditor; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.ats.task.TaskEditor; -import org.eclipse.osee.ats.task.TaskEditorSimpleProvider; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.CustomizeDemoTableTestUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.ats.util.NavigateTestUtil; -import org.eclipse.osee.ats.util.WorldEditorUtil; -import org.eclipse.osee.ats.world.WorldEditor; -import org.eclipse.osee.ats.world.WorldXViewer; -import org.eclipse.osee.ats.world.search.ActionableItemWorldSearchItem; -import org.eclipse.osee.ats.world.search.GroupWorldSearchItem; -import org.eclipse.osee.ats.world.search.NextVersionSearchItem; -import org.eclipse.osee.ats.world.search.TeamWorldSearchItem.ReleasedOption; -import org.eclipse.osee.ats.world.search.UserCommunitySearchItem; -import org.eclipse.osee.ats.world.search.UserSearchItem; -import org.eclipse.osee.ats.world.search.UserWorldSearchItem.UserSearchOption; -import org.eclipse.osee.ats.world.search.VersionTargetedForTeamSearchItem; -import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.core.data.IAttributeType; -import org.eclipse.osee.framework.core.enums.Active; -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; -import org.eclipse.osee.framework.ui.skynet.widgets.util.IDynamicWidgetLayoutListener; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.eclipse.osee.support.test.util.DemoUsers; -import org.eclipse.osee.support.test.util.TestUtil; -import org.eclipse.swt.widgets.TreeItem; -import org.junit.Ignore; - -/** - * @author Donald G. Dunne - */ -public class AtsNavigateItemsToWorldViewTest { - - @org.junit.Test - public void testDemoDatabase() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - VisitedItems.clearVisited(); - DemoTestUtil.setUpTest(); - assertTrue(DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones) != null); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testAttributeDeletion() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - Collection arts = runGeneralLoadingTest("My Favorites", AtsArtifactTypes.TeamWorkflow, 3, null); - arts.clear(); - NavigateTestUtil.getAllArtifactChildren(getXViewer().getTree().getItems(), arts); - // delete an artifact, look for expected !Errors in the XCol - deleteAttributesForXColErrorTest(arts, AtsAttributeTypes.ChangeType); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testMyWorld() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - runGeneralLoadingTest("My World", AtsArtifactTypes.AbstractWorkflowArtifact, 11, null); - runGeneralXColTest(28, false); - TestUtil.severeLoggingEnd(monitor); - } - - private XNavigateItem openUserSearchEditor() throws Exception { - WorldEditor.closeAll(); - XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("User Search"); - assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof UserSearchWorkflowSearchItem); - item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI); - return item; - } - - @org.junit.Test - public void testSearchMyFavorites() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - UserSearchWorkflowSearchItem dwl = - (UserSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - dwl.setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - dwl.setSelected(UserSearchOption.Favorites, true); - runGeneralUserSearchTest(item, 3); - runGeneralXColTest(20, false); - // test the task tab - this is being done via open ats task editor - runGeneralXColTest(20, true); - // Open all three favorites - editor.getWorldXWidgetActionPage().reSearch(true); - Collection arts = editor.getLoadedArtifacts(); - for (Artifact artifact : arts) { - SMAEditor.editArtifact(artifact); - } - // Test that recently visited returns all three - Collection artsLoaded = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), artsLoaded, AtsArtifactTypes.TeamWorkflow, 3); - runGeneralXColTest(20, false); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testSearchMySubscribed() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Subscribed, true); - editor.getWorldXWidgetActionPage().reSearch(true); - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), 1, arts.size()); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testSearchState() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Assignee, true); - ((UserSearchWorkflowSearchItem) dwl).setSelectedState(TeamState.Implement.getName()); - editor.getWorldXWidgetActionPage().reSearch(true); - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.AbstractWorkflowArtifact, 7); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testSearchMyReviews() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false); - editor.getWorldXWidgetActionPage().reSearch(true); - - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 2); - runGeneralXColTest(4, false); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testSearchMyReviewsAll() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeCompleted, true); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeCancelled, true); - editor.getWorldXWidgetActionPage().reSearch(true); - - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3); - runGeneralXColTest(5, false); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testSearchMyOriginator() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Originator, true); - editor.getWorldXWidgetActionPage().reSearch(true); - - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.Task, DemoTestUtil.getNumTasks()); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.TeamWorkflow, 22); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); - // Only 2 decision reviews should have been created by Joe, rest are Rule reviews created by OseeSystem user - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 2); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testSearchMyOriginatorAll() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Originator, true); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeCompleted, true); - editor.getWorldXWidgetActionPage().reSearch(true); - - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.Task, DemoTestUtil.getNumTasks()); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.TeamWorkflow, 25); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3); - runGeneralXColTest(70, false); - TestUtil.severeLoggingEnd(monitor); - } - - private void runGeneralUserSearchTest(XNavigateItem item, int expectedNum) throws Exception { - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - editor.getWorldXWidgetActionPage().reSearch(true); - Collection arts = editor.getLoadedArtifacts(); - // validate - NavigateTestUtil.testExpectedVersusActual(item.getName(), expectedNum, arts.size()); - } - - @org.junit.Test - public void testSearchMyCompleted() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - UserSearchWorkflowSearchItem dwl = - (UserSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - dwl.setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - dwl.setSelected(UserSearchOption.IncludeCompleted, true); - dwl.setSelected(UserSearchOption.IncludeTasks, false); - editor.getWorldXWidgetActionPage().reSearch(true); - - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.TeamWorkflow, 7); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3); - runGeneralXColTest(29, false); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testMyRecentlyVisited() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - // Load Recently Visited - runGeneralLoadingTest("My Recently Visited", AtsArtifactTypes.TeamWorkflow, 3, null); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testOtherUsersWorld() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - OseeLog.log(Activator.class, Level.INFO, - "Testing User's items relating to " + DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones)); - XNavigateItem item = NavigateTestUtil.getAtsNavigateItems("User's World").iterator().next(); - runGeneralLoadingTest(item, AtsArtifactTypes.AbstractWorkflowArtifact, 12, - AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testSearchOtherUserReviews() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false); - editor.getWorldXWidgetActionPage().reSearch(true); - - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 1); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testSearchOtherUserAllReviews() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeReviews, true); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTeamWorkflows, false); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeTasks, false); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.IncludeCompleted, false); - editor.getWorldXWidgetActionPage().reSearch(true); - - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 1); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testSearchOtherUserFavorites() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Favorites, true); - editor.getWorldXWidgetActionPage().reSearch(true); - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), 0, arts.size()); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testSearchOtherUserSubscribed() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = openUserSearchEditor(); - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((UserSearchWorkflowSearchItem) dwl).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); - ((UserSearchWorkflowSearchItem) dwl).setSelected(UserSearchOption.Subscribed, true); - editor.getWorldXWidgetActionPage().reSearch(true); - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), 0, arts.size()); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testGroupsSearch() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - WorldEditor.closeAll(); - Artifact groupArt = - ArtifactQuery.getArtifactFromTypeAndName(CoreArtifactTypes.UniversalGroup, "Test Group", - AtsUtil.getAtsBranch()); - assertTrue(groupArt != null); - XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Group Search"); - assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof GroupWorldSearchItem); - ((GroupWorldSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedGroup(groupArt); - item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI); - WorldEditor worldEditor = WorldEditorUtil.getSingleEditorOrFail(); - Collection arts = worldEditor.getLoadedArtifacts(); - - NavigateTestUtil.testExpectedVersusActual(item.getName() + " Actions", arts, AtsArtifactTypes.Action, 2); - NavigateTestUtil.testExpectedVersusActual(item.getName() + " Teams", arts, AtsArtifactTypes.TeamWorkflow, 7); - NavigateTestUtil.testExpectedVersusActual(item.getName() + " Tasks", arts, AtsArtifactTypes.Task, - DemoTestUtil.getNumTasks()); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testTeamWorkflowSearch() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - List selectedTeamDefs = TeamDefinitions.getTeamTopLevelDefinitions(Active.Active); - WorldEditor.closeAll(); - XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Team Workflow Search"); - assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof TeamWorkflowSearchWorkflowSearchItem); - item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI); - runGeneralTeamWorkflowSearchOnTeamTest(item, selectedTeamDefs, 1); - runGeneralTeamWorkflowSearchOnCompletedCancelledTest(item, true, 2); - runGeneralTeamWorkflowSearchOnCompletedCancelledTest(item, false, 1); - runGeneralTeamWorkflowSearchOnAssigneeTest(item, "Joe Smith", 0); - selectedTeamDefs.clear(); - runGeneralTeamWorkflowSearchOnTeamTest(item, selectedTeamDefs, 7); - runGeneralTeamWorkflowSearchOnReleasedTest(item, ReleasedOption.UnReleased, 7); - runGeneralTeamWorkflowSearchOnAssigneeTest(item, "Kay Jones", 10); - runGeneralTeamWorkflowSearchOnReleasedTest(item, ReleasedOption.Released, 0); - runGeneralTeamWorkflowSearchOnReleasedTest(item, ReleasedOption.Both, 10); - List teamDefs = new ArrayList(); - teamDefs.add("SAW Test"); - teamDefs.add("SAW Design"); - Set tda = TeamDefinitions.getTeamDefinitions(teamDefs); - runGeneralTeamWorkflowSearchOnTeamTest(item, tda, 3); - runGeneralTeamWorkflowSearchOnVersionTest(item, DemoSawBuilds.SAW_Bld_1.getName(), 0); - runGeneralTeamWorkflowSearchOnVersionTest(item, DemoSawBuilds.SAW_Bld_2.getName(), 3); - selectedTeamDefs.clear(); - runGeneralTeamWorkflowSearchOnTeamTest(item, selectedTeamDefs, 10); - TestUtil.severeLoggingEnd(monitor); - } - - private void runGeneralTeamWorkflowSearchTest(XNavigateItem item, int expectedNum) throws Exception { - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - editor.getWorldXWidgetActionPage().reSearch(true); - Collection arts = editor.getLoadedArtifacts(); - // validate - NavigateTestUtil.testExpectedVersusActual(item.getName(), expectedNum, arts.size()); - } - - private void runGeneralTeamWorkflowSearchOnAssigneeTest(XNavigateItem item, String assignee, int expectedNum) throws Exception { - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setSelectedUser(AtsUsersClient.getUserByName(assignee)); - runGeneralTeamWorkflowSearchTest(item, expectedNum); - } - - private void runGeneralTeamWorkflowSearchOnTeamTest(XNavigateItem item, Collection selectedTeamDefs, int expectedNum) throws Exception { - // need to set team selected users - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - IDynamicWidgetLayoutListener dwl = editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener(); - ((TeamWorkflowSearchWorkflowSearchItem) dwl).setSelectedTeamDefinitions(selectedTeamDefs); - runGeneralTeamWorkflowSearchTest(item, expectedNum); - } - - private void runGeneralTeamWorkflowSearchOnReleasedTest(XNavigateItem item, ReleasedOption released, int expectedNum) throws Exception { - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setSelectedReleased(released); - runGeneralTeamWorkflowSearchTest(item, expectedNum); - } - - private void runGeneralTeamWorkflowSearchOnVersionTest(XNavigateItem item, String versionString, int expectedNum) throws Exception { - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setVersion(versionString); - runGeneralTeamWorkflowSearchTest(item, expectedNum); - } - - private void runGeneralTeamWorkflowSearchOnCompletedCancelledTest(XNavigateItem item, boolean selected, int expectedNum) throws Exception { - WorldEditor editor = WorldEditorUtil.getSingleEditorOrFail(); - ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setIncludeCompletedCheckbox(selected); - ((TeamWorkflowSearchWorkflowSearchItem) editor.getWorldXWidgetActionPage().getDynamicWidgetLayoutListener()).setIncludeCancelledCheckbox(selected); - runGeneralTeamWorkflowSearchTest(item, expectedNum); - } - - @Ignore - @org.junit.Test - public void testUserCommunitySearch() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("User Community Search"); - assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof UserCommunitySearchItem); - ((UserCommunitySearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedUserComm(AtsUserCommunity.Program_2.name()); - // normal searches copy search item which would clear out the set value above; for this test, don't copy item - runGeneralLoadingTest(item, AtsArtifactTypes.TeamWorkflow, 4, null, TableLoadOption.DontCopySearchItem); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testActionableItemSearch() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - XNavigateItem item = NavigateTestUtil.getAtsNavigateItem("Actionable Item Search"); - assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof ActionableItemWorldSearchItem); - ((ActionableItemWorldSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedActionItems(ActionableItems.getActionableItems(Arrays.asList("SAW Code"))); - // normal searches copy search item which would clear out the set value above; for this test, don't copy item - runGeneralLoadingTest(item, AtsArtifactTypes.TeamWorkflow, 3, null, TableLoadOption.DontCopySearchItem); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testTargetedForVersionTeamSearch() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - Collection items = NavigateTestUtil.getAtsNavigateItems("Workflows Targeted-For Version"); - // First one is the global one - XNavigateItem item = items.iterator().next(); - assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof VersionTargetedForTeamSearchItem); - IAtsVersion version = AtsConfigCache.instance.getSoleByName(DemoSawBuilds.SAW_Bld_2.getName(), IAtsVersion.class); - ((VersionTargetedForTeamSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedVersionArt(version); - runGeneralLoadingTest(item, AtsArtifactTypes.TeamWorkflow, 14, null, TableLoadOption.DontCopySearchItem); - TestUtil.severeLoggingEnd(monitor); - } - - @org.junit.Test - public void testTargetedForTeamSearch() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - - Collection items = NavigateTestUtil.getAtsNavigateItems("Workflows Targeted-For Next Version"); - // First one is the global one - XNavigateItem item = items.iterator().next(); - assertTrue(((SearchNavigateItem) item).getWorldSearchItem() instanceof NextVersionSearchItem); - ((NextVersionSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedTeamDef(TeamDefinitions.getTeamDefinitions( - Arrays.asList("SAW SW")).iterator().next()); - runGeneralLoadingTest(item, AtsArtifactTypes.TeamWorkflow, 14, null, TableLoadOption.DontCopySearchItem); - TestUtil.severeLoggingEnd(monitor); - } - - private Collection runGeneralLoadingTest(String xNavigateItemName, IArtifactType artifactType, int numOfType, IAtsUser user) throws Exception { - XNavigateItem item = NavigateTestUtil.getAtsNavigateItem(xNavigateItemName); - return runGeneralLoadingTest(item, artifactType, numOfType, user); - } - - private Collection runGeneralLoadingTest(XNavigateItem item, IArtifactType artifactType, int numOfType, IAtsUser user) throws Exception { - return runGeneralLoadingTest(item, artifactType, numOfType, user, TableLoadOption.None); - } - - private Collection runGeneralLoadingTest(XNavigateItem item, IArtifactType artifactType, int numOfType, IAtsUser user, TableLoadOption tableLoadOption) throws Exception { - WorldEditor.closeAll(); - // Find the correct navigate item - if (user != null && item instanceof SearchNavigateItem) { - if (((SearchNavigateItem) item).getWorldSearchItem() instanceof UserSearchItem) { - ((UserSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedUser(user); - } - } - // Simulate double-click of navigate item - item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI, tableLoadOption); - - WorldEditor worldEditor = WorldEditorUtil.getSingleEditorOrFail(); - Collection arts = worldEditor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, artifactType, numOfType); - return arts; - } - - private void runGeneralXColTest(int itemCount, boolean testTaskTab) throws Exception { - int itemCnt, beforeSize, afterSize = 0; - XViewer xv = getXViewer(); - xv.expandAll(); - itemCnt = xv.getVisibleItemCount(xv.getTree().getItems()); - NavigateTestUtil.testExpectedVersusActual("Item Count - ", itemCount, itemCnt); - beforeSize = getXViewer().getCustomizeMgr().getCurrentVisibleTableColumns().size(); - // show all columns - handleTableCustomization(); - afterSize = getXViewer().getCustomizeMgr().getCurrentVisibleTableColumns().size(); - NavigateTestUtil.testExpectedVersusActual("Column Count - ", true, (afterSize >= beforeSize)); - runGeneralXColTest(itemCount, false, null, testTaskTab); - } - - private void runGeneralXColTest(int expected, boolean isErrorCheck, IAttributeType attributeTypeToDelete, boolean testTaskTab) throws OseeCoreException { - List arts = new ArrayList(); - List taskArts = new ArrayList(); - List columns = getXViewer().getCustomizeMgr().getCurrentTableColumns(); - ITableLabelProvider labelProv = (ITableLabelProvider) getXViewer().getLabelProvider(); - // want to check all valid children - TreeItem[] treeItem = getXViewer().getTree().getItems(); - NavigateTestUtil.getAllArtifactChildren(treeItem, arts); - NavigateTestUtil.testExpectedVersusActual("Number of Artifacts - ", expected, arts.size()); - // are we running the fault case? - if (testTaskTab) { - getXViewer().expandAll(); - arts.clear(); - // grab the Task Artifacts and set them as selected - this.getAllTreeItems(getXViewer().getTree().getItems(), taskArts); - // open the task in the Task Editor - TaskEditor.open(new TaskEditorSimpleProvider("ATS Tasks", getXViewer().getSelectedTaskArtifacts())); - handleTableCustomization(); - columns = getXViewer().getCustomizeMgr().getCurrentTableColumns(); - verifyXColumns(labelProv, arts, columns); - } else if (isErrorCheck) { - verifyXColumnsHasErrors(labelProv, arts, columns, attributeTypeToDelete); - } else { - verifyXColumns(labelProv, arts, columns); - } - } - - private void getAllTreeItems(TreeItem[] treeItem, List taskArts) throws OseeCoreException { - for (TreeItem item : treeItem) { - if (item.getData() instanceof Artifact) { - if (((Artifact) item.getData()).isOfType(AtsArtifactTypes.Task)) { - getXViewer().getTree().setSelection(item); - taskArts.add((Artifact) item.getData()); - } - } - if (item.getExpanded()) { - getAllTreeItems(item.getItems(), taskArts); - } - } - } - - private WorldXViewer getXViewer() { - return WorldEditorUtil.getSingleEditorOrFail().getWorldComposite().getXViewer(); - } - - private void handleTableCustomization() { - // add all columns - CustomizeDemoTableTestUtil cdialog = new CustomizeDemoTableTestUtil(getXViewer()); - cdialog.createDialogArea(WorldEditorUtil.getSingleEditorOrFail().getWorldComposite()); - cdialog.handleAddAllItemButtonClick(); - } - - private void deleteAttributesForXColErrorTest(Collection arts, IAttributeType attributeTypeToDelete) throws Exception { - Map attributeValues = new HashMap(); - getXViewer().expandAll(); - handleTableCustomization(); - SkynetTransaction transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Navigate Test"); - // select a workflow artifact; get its attributes; delete an attribute - for (Artifact art : arts) { - attributeValues.put(art, art.getSoleAttributeValue(attributeTypeToDelete)); - art.deleteAttribute(attributeTypeToDelete, art.getSoleAttributeValue(attributeTypeToDelete)); - art.persist(transaction); - } - transaction.execute(); - try { - runGeneralXColTest(20, true, attributeTypeToDelete, false); - } finally { - transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Navigate Test"); - // restore the attribute to leave the demo db back in its original state - for (Artifact art : arts) { - art.setSoleAttributeValue(attributeTypeToDelete, attributeValues.get(art)); - art.persist(transaction); - } - transaction.execute(); - } - } - - private void verifyXColumnsHasErrors(ITableLabelProvider labelProv, List arts, List columns, IAttributeType attributeTypeToDelete) { - List actualErrorCols = new ArrayList(); - for (XViewerColumn xCol : columns) { - verifyArtifactsHasErrors(labelProv, arts, xCol, - getXViewer().getCustomizeMgr().getColumnNumFromXViewerColumn(xCol), actualErrorCols); - } - if (!AtsAttributeTypes.CurrentState.equals(attributeTypeToDelete) && !AtsAttributeTypes.PriorityType.equals(attributeTypeToDelete)) { - verifyXCol1HasErrors(actualErrorCols); - } else { - verifyXCol2HasErrors(actualErrorCols); - } - } - - private void verifyXCol1HasErrors(List actualErrorCols) { - int index = 0; - for (String col : actualErrorCols) { - NavigateTestUtil.testExpectedVersusActual("Expected xCol " + col + " errors", true, - NavigateTestUtil.expectedErrorCols1[index++].contains(col)); - } - } - - private void verifyXCol2HasErrors(List actualErrorCols) { - int index = 0; - NavigateTestUtil.testExpectedVersusActual("Expected number of xCol errors", - NavigateTestUtil.expectedErrorCols2.length, actualErrorCols.size()); - for (String col : actualErrorCols) { - NavigateTestUtil.testExpectedVersusActual("Expected xCol errors", true, - NavigateTestUtil.expectedErrorCols2[index++].equals(col)); - } - } - - private void verifyXColumns(ITableLabelProvider labelProv, Collection arts, List columns) { - for (XViewerColumn xCol : columns) { - verifyArtifact(xCol, labelProv, arts, getXViewer().getCustomizeMgr().getColumnNumFromXViewerColumn(xCol)); - } - } - - private void verifyArtifact(XViewerColumn xCol, ITableLabelProvider labelProv, Collection arts, int colIndex) { - for (Artifact art : arts) { - String colText = labelProv.getColumnText(art, colIndex); - NavigateTestUtil.testExpectedVersusActual( - "No Error expected in XCol [" + xCol.getName() + "] but got [" + colText + "]", true, - !colText.contains("!Error")); - } - } - - private void verifyArtifactsHasErrors(ITableLabelProvider labelProv, Collection arts, XViewerColumn xCol, int colIndex, List actualErrorCols) { - for (Artifact art : arts) { - String colText = labelProv.getColumnText(art, colIndex); - if (art.isOfType(DemoArtifactTypes.DemoCodeTeamWorkflow)) { - if (colText.contains("!Error")) { - if (!actualErrorCols.contains(xCol.getId())) { - actualErrorCols.add(xCol.getId()); - } - } - } - } - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsUserCommunity.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsUserCommunity.java deleted file mode 100644 index e97e22d6ba3..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/navigate/AtsUserCommunity.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.navigate; - -/** - * @author Donald G. Dunne - */ -public enum AtsUserCommunity { - Program_1, - Program_2, - Tools, - Processes, - Other; -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/render/RendererManagerTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/render/RendererManagerTest.java deleted file mode 100644 index 1aba5f00c7e..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/render/RendererManagerTest.java +++ /dev/null @@ -1,199 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.render; - -import static org.eclipse.osee.ats.api.data.AtsArtifactTypes.Action; -import static org.eclipse.osee.ats.render.RendererManagerTest.DefaultOption.Both; -import static org.eclipse.osee.ats.render.RendererManagerTest.DefaultOption.Off; -import static org.eclipse.osee.ats.render.RendererManagerTest.DefaultOption.On; -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.Folder; -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.GeneralDocument; -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.SoftwareRequirement; -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.SoftwareRequirementPlainText; -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.TestCase; -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.TestInformationSheet; -import static org.eclipse.osee.framework.core.enums.CoreArtifactTypes.TestProcedureWML; -import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.DEFAULT_OPEN; -import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.DIFF; -import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.GENERALIZED_EDIT; -import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.MERGE; -import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.PREVIEW; -import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.PRODUCE_ATTRIBUTE; -import static org.eclipse.osee.framework.ui.skynet.render.PresentationType.SPECIALIZED_EDIT; -import java.util.ArrayList; -import java.util.Collection; -import org.eclipse.osee.ats.editor.renderer.AtsWERenderer; -import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.exception.OseeStateException; -import org.eclipse.osee.framework.jdk.core.util.GUID; -import org.eclipse.osee.framework.skynet.core.UserManager; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; -import org.eclipse.osee.framework.ui.skynet.render.DefaultArtifactRenderer; -import org.eclipse.osee.framework.ui.skynet.render.IRenderer; -import org.eclipse.osee.framework.ui.skynet.render.JavaRenderer; -import org.eclipse.osee.framework.ui.skynet.render.NativeRenderer; -import org.eclipse.osee.framework.ui.skynet.render.PlainTextRenderer; -import org.eclipse.osee.framework.ui.skynet.render.PresentationType; -import org.eclipse.osee.framework.ui.skynet.render.RendererManager; -import org.eclipse.osee.framework.ui.skynet.render.TisRenderer; -import org.eclipse.osee.framework.ui.skynet.render.WholeWordRenderer; -import org.eclipse.osee.framework.ui.skynet.render.WordTemplateRenderer; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameters; - -/** - * Test Case for {@link RendererManager} - * - * @author Ryan D. Brooks - */ -@RunWith(Parameterized.class) -public class RendererManagerTest { - enum DefaultOption { - On, - Off, - Both - }; - - private final IArtifactType artifactType; - private final PresentationType presentationType; - private final Class clazz; - private final DefaultOption defaultOption; - - public RendererManagerTest(IArtifactType artifactType, PresentationType presentationType, Class clazz, DefaultOption defaultOption) { - this.artifactType = artifactType; - this.presentationType = presentationType; - this.clazz = clazz; - this.defaultOption = defaultOption; - } - - @Test - public void testGetBestRenderer() throws OseeCoreException { - Artifact artifact = new Artifact(null, GUID.create(), null, BranchManager.getCommonBranch(), artifactType); - - if (defaultOption == Both) { - testGetBestRendererWithOption(artifact, On); - testGetBestRendererWithOption(artifact, Off); - } else { - testGetBestRendererWithOption(artifact, defaultOption); - } - } - - private void testGetBestRendererWithOption(Artifact artifact, DefaultOption option) throws OseeCoreException { - UserManager.setSetting(UserManager.DOUBLE_CLICK_SETTING_KEY, String.valueOf(option == On)); - - if (clazz == null) { - try { - IRenderer renderer = computeRenderer(artifact); - String message = - String.format( - "Expected an OseeStateException to be thrown since no render should be applicable in this case.\nRenderer: [%s]", - renderer); - Assert.fail(message); - } catch (OseeStateException ex) { - Assert.assertEquals(String.format("No renderer configured for %s of %s", presentationType, artifact), - ex.getMessage()); - } - } else { - IRenderer renderer = computeRenderer(artifact); - Assert.assertEquals(clazz, renderer.getClass()); - } - } - - private IRenderer computeRenderer(Artifact artifact) throws OseeCoreException { - IRenderer renderer = RendererManager.getBestRenderer(presentationType, artifact); - Assert.assertNotNull(renderer); - return renderer; - } - - @Parameters - public static Collection getData() { - Collection data = new ArrayList(); - - addTest(data, Folder, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); - addTest(data, Folder, SPECIALIZED_EDIT, DefaultArtifactRenderer.class, Both); - addTest(data, Folder, DIFF, WordTemplateRenderer.class, Both); - addTest(data, Folder, PREVIEW, WordTemplateRenderer.class, Both); - addTest(data, Folder, MERGE, null, Both); - addTest(data, Folder, DEFAULT_OPEN, DefaultArtifactRenderer.class, Off); - addTest(data, Folder, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); - addTest(data, Folder, PRODUCE_ATTRIBUTE, DefaultArtifactRenderer.class, Both); - - addTest(data, SoftwareRequirement, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); - addTest(data, SoftwareRequirement, SPECIALIZED_EDIT, WordTemplateRenderer.class, Both); - addTest(data, SoftwareRequirement, DIFF, WordTemplateRenderer.class, Both); - addTest(data, SoftwareRequirement, PREVIEW, WordTemplateRenderer.class, Both); - addTest(data, SoftwareRequirement, MERGE, WordTemplateRenderer.class, Both); - addTest(data, SoftwareRequirement, DEFAULT_OPEN, WordTemplateRenderer.class, Off); - addTest(data, SoftwareRequirement, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); - addTest(data, SoftwareRequirement, PRODUCE_ATTRIBUTE, WordTemplateRenderer.class, Both); - - addTest(data, Action, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); - addTest(data, Action, SPECIALIZED_EDIT, AtsWERenderer.class, Both); - addTest(data, Action, DIFF, AtsWERenderer.class, Both); - addTest(data, Action, PREVIEW, AtsWERenderer.class, Both); - addTest(data, Action, MERGE, AtsWERenderer.class, Both); - addTest(data, Action, DEFAULT_OPEN, AtsWERenderer.class, Off); - addTest(data, Action, DEFAULT_OPEN, AtsWERenderer.class, On); - addTest(data, Action, PRODUCE_ATTRIBUTE, DefaultArtifactRenderer.class, Both); - - addTest(data, TestProcedureWML, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); - addTest(data, TestProcedureWML, SPECIALIZED_EDIT, WholeWordRenderer.class, Both); - addTest(data, TestProcedureWML, DIFF, WholeWordRenderer.class, Both); - addTest(data, TestProcedureWML, PREVIEW, WholeWordRenderer.class, Both); - addTest(data, TestProcedureWML, MERGE, WholeWordRenderer.class, Both); - addTest(data, TestProcedureWML, DEFAULT_OPEN, WholeWordRenderer.class, Off); - addTest(data, TestProcedureWML, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); - addTest(data, TestProcedureWML, PRODUCE_ATTRIBUTE, DefaultArtifactRenderer.class, Both); - - addTest(data, GeneralDocument, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); - addTest(data, GeneralDocument, SPECIALIZED_EDIT, NativeRenderer.class, Both); - addTest(data, GeneralDocument, DIFF, WordTemplateRenderer.class, Both); - addTest(data, GeneralDocument, PREVIEW, NativeRenderer.class, Both); - addTest(data, GeneralDocument, MERGE, null, Both); - addTest(data, GeneralDocument, DEFAULT_OPEN, NativeRenderer.class, Off); - addTest(data, GeneralDocument, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); - addTest(data, GeneralDocument, PRODUCE_ATTRIBUTE, DefaultArtifactRenderer.class, Both); - - addTest(data, TestInformationSheet, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); - addTest(data, TestInformationSheet, SPECIALIZED_EDIT, WordTemplateRenderer.class, Both); - addTest(data, TestInformationSheet, DIFF, WordTemplateRenderer.class, Both); - addTest(data, TestInformationSheet, PREVIEW, TisRenderer.class, Both); - addTest(data, TestInformationSheet, MERGE, WordTemplateRenderer.class, Both); - addTest(data, TestInformationSheet, DEFAULT_OPEN, TisRenderer.class, Off); - addTest(data, TestInformationSheet, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); - addTest(data, TestInformationSheet, PRODUCE_ATTRIBUTE, WordTemplateRenderer.class, Both); - - addTest(data, TestCase, GENERALIZED_EDIT, DefaultArtifactRenderer.class, Both); - addTest(data, TestCase, SPECIALIZED_EDIT, JavaRenderer.class, Both); - addTest(data, TestCase, DIFF, WordTemplateRenderer.class, Off); - addTest(data, TestCase, PREVIEW, WordTemplateRenderer.class, Both); - addTest(data, TestCase, MERGE, null, Both); - addTest(data, TestCase, DEFAULT_OPEN, JavaRenderer.class, Off); - addTest(data, TestCase, DEFAULT_OPEN, DefaultArtifactRenderer.class, On); - addTest(data, TestCase, PRODUCE_ATTRIBUTE, DefaultArtifactRenderer.class, Both); - - addTest(data, SoftwareRequirementPlainText, SPECIALIZED_EDIT, PlainTextRenderer.class, Both); - addTest(data, SoftwareRequirementPlainText, PREVIEW, PlainTextRenderer.class, Both); - // addTest(data, SoftwareRequirementPlainText, DEFAULT_OPEN, PlainTextRenderer.class, Both); - addTest(data, SoftwareRequirementPlainText, PRODUCE_ATTRIBUTE, PlainTextRenderer.class, Both); - - return data; - } - - private static void addTest(Collection data, Object... params) { - data.add(params); - } -} \ No newline at end of file diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/review/ReviewNavigateItemsToWorldViewTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/review/ReviewNavigateItemsToWorldViewTest.java deleted file mode 100644 index 52ecec0ee77..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/review/ReviewNavigateItemsToWorldViewTest.java +++ /dev/null @@ -1,129 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.review; - -import static org.junit.Assert.assertTrue; -import java.util.Collection; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.navigate.SearchNavigateItem; -import org.eclipse.osee.ats.navigate.VisitedItems; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.ats.util.MassEditorUtil; -import org.eclipse.osee.ats.util.NavigateTestUtil; -import org.eclipse.osee.ats.util.WorldEditorUtil; -import org.eclipse.osee.ats.world.WorldEditor; -import org.eclipse.osee.ats.world.search.UserSearchItem; -import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; -import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor; -import org.eclipse.osee.support.test.util.DemoUsers; - -/** - * Test case for @link {@link ReviewNavigateViewItems} - * - * @author Donald G. Dunne - */ -public class ReviewNavigateItemsToWorldViewTest { - - @org.junit.Test - public void testDemoDatabase() throws Exception { - VisitedItems.clearVisited(); - DemoTestUtil.setUpTest(); - assertTrue(DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones) != null); - } - - @org.junit.Test - public void testMyReviews() throws Exception { - // two exist cause ATS has one in it's list - XNavigateItem item = NavigateTestUtil.getAtsNavigateItems("My Reviews").iterator().next(); - runGeneralLoadingTest(item, AtsArtifactTypes.DecisionReview, 2, null); - runGeneralLoadingTest(item, AtsArtifactTypes.PeerToPeerReview, 2, null); - } - - @org.junit.Test - public void testOtherUsersWorld_KayJones() throws Exception { - XNavigateItem item = NavigateTestUtil.getAtsNavigateItems("User's Reviews").iterator().next(); - runGeneralLoadingTest(item, AtsArtifactTypes.PeerToPeerReview, 1, AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones)); - } - - @org.junit.Test - public void testOtherUsersWorld_JoeSmith() throws Exception { - XNavigateItem item = NavigateTestUtil.getAtsNavigateItems("User's Reviews").iterator().next(); - runGeneralLoadingTest(item, AtsArtifactTypes.DecisionReview, 2, AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - runGeneralLoadingTest(item, AtsArtifactTypes.PeerToPeerReview, 2, AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - } - - @org.junit.Test - public void testOpenDecisionReviews() throws Exception { - runGeneralLoadingTest("Show Open Decision Reviews", AtsArtifactTypes.DecisionReview, 5, null); - } - - @org.junit.Test - public void testWorkflowsWaitingDecisionReviews() throws Exception { - runGeneralLoadingTest("Show Workflows Waiting Decision Reviews", AtsArtifactTypes.TeamWorkflow, 5, null); - } - - @org.junit.Test - public void testOpenPeerReviews() throws Exception { - runGeneralLoadingTest("Show Open PeerToPeer Reviews", AtsArtifactTypes.PeerToPeerReview, 5, null); - } - - @org.junit.Test - public void testWorkflowsWaitingPeerToPeerReviews() throws Exception { - runGeneralLoadingTest("Show Workflows Waiting PeerToPeer Reviews", AtsArtifactTypes.TeamWorkflow, 4, null); - } - - @org.junit.Test - public void testReviewParticipationReport() throws Exception { - MassArtifactEditor.closeAll(); - XNavigateItem item = - NavigateTestUtil.getAtsNavigateItems("Generate Review Participation Report").iterator().next(); - ((GenerateReviewParticipationReport) item).setSelectedUser(AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith)); - - item.run(TableLoadOption.ForcePend); - - MassArtifactEditor editor = MassEditorUtil.getSingleEditorOrFail(); - Collection arts = editor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.PeerToPeerReview, 2); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, AtsArtifactTypes.DecisionReview, 3); - } - - private Collection runGeneralLoadingTest(String xNavigateItemName, IArtifactType artifactType, int numOfType, IAtsUser user) throws Exception { - XNavigateItem item = NavigateTestUtil.getAtsNavigateItem(xNavigateItemName); - return runGeneralLoadingTest(item, artifactType, numOfType, user); - } - - private Collection runGeneralLoadingTest(XNavigateItem item, IArtifactType artifactType, int numOfType, IAtsUser user) throws Exception { - return runGeneralLoadingTest(item, artifactType, numOfType, user, TableLoadOption.None); - } - - private Collection runGeneralLoadingTest(XNavigateItem item, IArtifactType artifactType, int numOfType, IAtsUser user, TableLoadOption tableLoadOption) throws Exception { - WorldEditor.closeAll(); - // Find the correct navigate item - if (user != null && item instanceof SearchNavigateItem) { - if (((SearchNavigateItem) item).getWorldSearchItem() instanceof UserSearchItem) { - ((UserSearchItem) ((SearchNavigateItem) item).getWorldSearchItem()).setSelectedUser(user); - } - } - // Simulate double-click of navigate item - item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI, tableLoadOption); - - WorldEditor worldEditor = WorldEditorUtil.getSingleEditorOrFail(); - Collection arts = worldEditor.getLoadedArtifacts(); - NavigateTestUtil.testExpectedVersusActual(item.getName(), arts, artifactType, numOfType); - return arts; - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/review/ReviewWorldSearchItemDemoTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/review/ReviewWorldSearchItemDemoTest.java deleted file mode 100644 index 4e37e5dca55..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/review/ReviewWorldSearchItemDemoTest.java +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.review; - -import static org.junit.Assert.assertTrue; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import java.util.Set; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.config.ActionableItems; -import org.eclipse.osee.ats.navigate.VisitedItems; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.ats.util.NavigateTestUtil; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.support.test.util.DemoUsers; - -/** - * Test Case for @link {@link ReviewWorldSearchItem} - * - * @author Donald G. Dunne - */ -public class ReviewWorldSearchItemDemoTest { - - @org.junit.Test - public void testDemoDatabase() throws Exception { - VisitedItems.clearVisited(); - DemoTestUtil.setUpTest(); - assertTrue(DemoTestUtil.getDemoUser(DemoUsers.Kay_Jones) != null); - } - - @org.junit.Test - public void testAiSearch() throws Exception { - IAtsUser joe = AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith); - Set aias = ActionableItems.getActionableItems(Arrays.asList("SAW Code")); - ReviewWorldSearchItem search = - new ReviewWorldSearchItem("", aias, false, false, false, null, joe, null, null, null); - Collection arts = search.performSearchGetResults(); - NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.PeerToPeerReview, 2); - NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.DecisionReview, 0); - } - - @org.junit.Test - public void testState() throws Exception { - IAtsUser joe = AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith); - Set aias = ActionableItems.getActionableItems(Arrays.asList("SAW Code")); - ReviewWorldSearchItem search = - new ReviewWorldSearchItem("", aias, false, false, false, null, joe, null, null, "Prepare"); - Collection arts = search.performSearchGetResults(); - NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.PeerToPeerReview, 1); - NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.DecisionReview, 0); - } - - @org.junit.Test - public void testIncludeCompleted() throws Exception { - Set aias = ActionableItems.getActionableItems(Arrays.asList("SAW Code")); - ReviewWorldSearchItem search = - new ReviewWorldSearchItem("", aias, true, false, false, null, null, null, null, null); - Collection arts = search.performSearchGetResults(); - NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.PeerToPeerReview, 3); - NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.DecisionReview, 0); - } - - @org.junit.Test - public void testAssignee_Kay() throws Exception { - IAtsUser Kay_Jones = AtsUsersClient.getUserFromToken(DemoUsers.Kay_Jones); - Set aias = ActionableItems.getActionableItems(Arrays.asList("SAW Code")); - ReviewWorldSearchItem search = - new ReviewWorldSearchItem("", aias, false, false, false, null, Kay_Jones, null, null, null); - Collection arts = search.performSearchGetResults(); - NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.PeerToPeerReview, 1); - NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.DecisionReview, 0); - } - - @org.junit.Test - public void testAssignee_Joe() throws Exception { - IAtsUser Joe_Smith = AtsUsersClient.getUserFromToken(DemoUsers.Joe_Smith); - ReviewWorldSearchItem search = - new ReviewWorldSearchItem("", (List) null, false, false, false, null, Joe_Smith, null, null, null); - Collection arts = search.performSearchGetResults(); - NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.PeerToPeerReview, 2); - NavigateTestUtil.testExpectedVersusActual("AI Search", arts, AtsArtifactTypes.DecisionReview, 1); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsDeleteManagerTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsDeleteManagerTest.java deleted file mode 100644 index bdb87b15119..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsDeleteManagerTest.java +++ /dev/null @@ -1,240 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import static org.eclipse.osee.framework.core.enums.DeletionFlag.EXCLUDE_DELETED; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Date; -import java.util.List; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.api.workdef.ReviewBlockType; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.action.ActionManager; -import org.eclipse.osee.ats.core.client.review.DecisionReviewArtifact; -import org.eclipse.osee.ats.core.client.review.DecisionReviewManager; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.workflow.ChangeType; -import org.eclipse.osee.ats.core.config.ActionableItems; -import org.eclipse.osee.ats.util.AtsDeleteManager.DeleteOption; -import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.core.data.Named; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.jdk.core.type.CountingMap; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.DemoActionableItems; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; - -/** - * This test must be run against a demo database. It tests the case where a team workflow or action is deleted or purged - * and makes sure that all expected related ats objects are deleted also. - * - * @author Donald G. Dunne - */ -public class AtsDeleteManagerTest { - - private enum TestNames { - TeamArtDeleteOneWorkflow, - TeamArtDeleteWithTwoWorkflows, - TeamArtPurge, - ActionDelete, - ActionPurge - }; - - @BeforeClass - public static void testCleanupPre() throws Exception { - DemoTestUtil.setUpTest(); - cleanup(); - } - - /** - * Test method for - * {@link org.eclipse.osee.ats.util.AtsDeleteManager#handleDeletePurgeAtsObject(java.util.Collection, org.eclipse.osee.ats.util.AtsDeleteManager.DeleteOption[])} - * . - */ - @org.junit.Test - public void testTeamArtDeleteOneWorkflow() throws Exception { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Delete Manager Test"); - // Create Action - TeamWorkFlowArtifact teamArt = - createAction(TestNames.TeamArtDeleteOneWorkflow, - ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Code.getName())), transaction); - transaction.execute(); - - // Verify exists - verifyExists(TestNames.TeamArtDeleteOneWorkflow, 1, 1, 0, 2, 1); - - // Delete - AtsDeleteManager.handleDeletePurgeAtsObject(Arrays.asList(teamArt), true, DeleteOption.Delete); - - // Verify doesn't exist - verifyExists(TestNames.TeamArtDeleteOneWorkflow, 0, 0, 0, 0, 0); - } - - /** - * Test method for - * {@link org.eclipse.osee.ats.util.AtsDeleteManager#handleDeletePurgeAtsObject(java.util.Collection, org.eclipse.osee.ats.util.AtsDeleteManager.DeleteOption[])} - * . - */ - @org.junit.Test - public void testTeamArtDeleteWithTwoWorkflows() throws Exception { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Delete Manager Test"); - // Create Action - TeamWorkFlowArtifact teamArt = - createAction(TestNames.TeamArtDeleteWithTwoWorkflows, ActionableItems.getActionableItems(Arrays.asList( - DemoActionableItems.SAW_Code.getName(), DemoActionableItems.SAW_Requirements.getName())), transaction); - transaction.execute(); - - // Verify exists - verifyExists(TestNames.TeamArtDeleteWithTwoWorkflows, 1, 1, 1, 2, 1); - - // Delete - AtsDeleteManager.handleDeletePurgeAtsObject(Arrays.asList(teamArt), true, DeleteOption.Delete); - - // Verify Action and Req Workflow still exist - verifyExists(TestNames.TeamArtDeleteWithTwoWorkflows, 1, 0, 1, 0, 0); - } - - @org.junit.Test - public void testTeamArtPurge() throws Exception { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Delete Manager Test"); - // Create Action - TeamWorkFlowArtifact teamArt = - createAction(TestNames.TeamArtPurge, - ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Code.getName())), transaction); - transaction.execute(); - - // Verify exists - verifyExists(TestNames.TeamArtPurge, 1, 1, 0, 2, 1); - - // Delete - AtsDeleteManager.handleDeletePurgeAtsObject(Arrays.asList(teamArt), true, DeleteOption.Purge); - - // Verify doesn't exist - verifyExists(TestNames.TeamArtPurge, 0, 0, 0, 0, 0); - } - - @org.junit.Test - public void testActionDelete() throws Exception { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Delete Manager Test"); - // Create Action - TeamWorkFlowArtifact teamArt = - createAction(TestNames.ActionDelete, - ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Code.getName())), transaction); - transaction.execute(); - - // Verify exists - verifyExists(TestNames.ActionDelete, 1, 1, 0, 2, 1); - - // Delete - AtsDeleteManager.handleDeletePurgeAtsObject(Arrays.asList(teamArt), true, DeleteOption.Delete); - - // Verify doesn't exist - verifyExists(TestNames.ActionDelete, 0, 0, 0, 0, 0); - } - - @org.junit.Test - public void testActionPurge() throws Exception { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Delete Manager Test"); - // Create Action - TeamWorkFlowArtifact teamArt = - createAction(TestNames.ActionPurge, - ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Code.getName())), transaction); - transaction.execute(); - - // Verify exists - verifyExists(TestNames.ActionPurge, 1, 1, 0, 2, 1); - - // Delete - AtsDeleteManager.handleDeletePurgeAtsObject(Arrays.asList(teamArt), true, DeleteOption.Purge); - - // Verify doesn't exist - verifyExists(TestNames.ActionPurge, 0, 0, 0, 0, 0); - } - - private void verifyExists(TestNames testName, int expectedNumActions, int expectedNumCodeWorkflows, int expectedNumReqWorkflows, int expectedNumTasks, int expectedNumReviews) throws OseeCoreException { - List artifacts = - ArtifactQuery.getArtifactListFromName(testName.toString(), AtsUtil.getAtsBranch(), EXCLUDE_DELETED, - QueryOptions.CONTAINS_MATCH_OPTIONS); - CountingMap countMap = new CountingMap(); - for (Artifact artifact : artifacts) { - countMap.put(artifact.getArtifactType()); - } - checkExpectedCount(countMap, AtsArtifactTypes.Action, expectedNumActions); - checkExpectedCount(countMap, DemoArtifactTypes.DemoCodeTeamWorkflow, expectedNumCodeWorkflows); - checkExpectedCount(countMap, DemoArtifactTypes.DemoReqTeamWorkflow, expectedNumReqWorkflows); - checkExpectedCount(countMap, AtsArtifactTypes.Task, expectedNumTasks); - checkExpectedCount(countMap, AtsArtifactTypes.DecisionReview, expectedNumReviews); - } - - private void checkExpectedCount(CountingMap map, T key, int expectedCount) { - int actualCount = map.get(key); - String message = String.format("%s expected[%s] actual[%s]", key.getName(), expectedCount, actualCount); - Assert.assertEquals(message, expectedCount, actualCount); - } - - private TeamWorkFlowArtifact createAction(TestNames testName, Collection actionableItems, SkynetTransaction transaction) throws OseeCoreException { - Date createdDate = new Date(); - IAtsUser createdBy = AtsUsersClient.getUser(); - Artifact actionArt = - ActionManager.createAction(null, testName.name(), "Description", ChangeType.Improvement, "2", false, null, - actionableItems, createdDate, createdBy, null, transaction); - - TeamWorkFlowArtifact teamArt = null; - for (TeamWorkFlowArtifact team : ActionManager.getTeams(actionArt)) { - if (team.getTeamDefinition().getName().contains("Code")) { - teamArt = team; - } - } - - teamArt.createTasks(Arrays.asList(testName.name() + " Task 1", testName.name() + " Task 2"), null, createdDate, - createdBy, transaction); - - DecisionReviewArtifact decRev = - DecisionReviewManager.createNewDecisionReview(teamArt, ReviewBlockType.None, testName.name(), - TeamState.Endorse.getName(), "Description", DecisionReviewManager.getDefaultDecisionReviewOptions(), - Arrays.asList(AtsUsersClient.getUser()), createdDate, createdBy); - decRev.persist(transaction); - - return teamArt; - - } - - @AfterClass - public static void testCleanupPost() throws Exception { - cleanup(); - } - - private static void cleanup() throws Exception { - List names = new ArrayList(); - for (TestNames testName : TestNames.values()) { - names.add(testName.name()); - } - AtsTestUtil.cleanupSimpleTest(names); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsImageTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsImageTest.java deleted file mode 100644 index 4bf50ed11c6..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsImageTest.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import org.eclipse.osee.ats.AtsImage; - -/** - * @author Donald G. Dunne - */ -public class AtsImageTest extends ImageManagerTest { - - public AtsImageTest() { - super("AtsImage", AtsImage.values()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsQueryPerformanceTests.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsQueryPerformanceTests.java deleted file mode 100644 index b8b8a19989e..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsQueryPerformanceTests.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import java.util.Arrays; -import java.util.Collection; -import org.eclipse.osee.ats.api.user.IAtsUser; -import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.world.search.MyWorldSearchItem; -import org.eclipse.osee.ats.world.search.TeamWorldSearchItem; -import org.eclipse.osee.ats.world.search.WorldSearchItem.SearchType; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; - -/** - * @author Andrew M. Finkbeiner - */ -public class AtsQueryPerformanceTests { - - @org.junit.Test - public void testAtsBulkLoad() throws Exception { - long startTime = System.currentTimeMillis(); - AtsBulkLoad.loadConfig(true); - long elapsedTime = System.currentTimeMillis() - startTime; - System.out.println(String.format("testAtsBulkLoad took %dms", elapsedTime)); - assertTrue("testAtsBulkLoad should take less than 5000ms currently " + elapsedTime + "ms", elapsedTime < 5000); - } - - @org.junit.Test - public void testTeamWorldSearchItem() throws Exception { - AtsBulkLoad.loadConfig(true); - TeamWorldSearchItem searchItem = - new TeamWorldSearchItem("Show Open OSEE Actions", Arrays.asList("ATS", "Define", "OTE"), false, false, true, - false, null, null, null, null, null); - long startTime = System.currentTimeMillis(); - Collection artifacts = searchItem.performSearch(SearchType.Search); - long elapsedTime = System.currentTimeMillis() - startTime; - System.out.println(String.format("testTeamWorldSearchItem took %dms for %d artifacts", elapsedTime, - artifacts.size())); - assertTrue("No artifacts found", artifacts.size() > 0); - assertTrue("testTeamWorldSearchItem should take less than 2000ms; took " + elapsedTime + "ms", elapsedTime < 2000); - } - - @org.junit.Test - public void testUserWorldSearch() throws Exception { - AtsBulkLoad.loadConfig(true); - IAtsUser user = AtsUsersClient.getUserByName("Finkbeiner, Andrew M"); - assertNotNull("User does not exist", user); - MyWorldSearchItem search = new MyWorldSearchItem(); - long startTime = System.currentTimeMillis(); - Collection artifacts = search.searchIt(user); - long elapsedTime = System.currentTimeMillis() - startTime; - System.out.println(String.format("testUserWorldSearch took %dms for %d artifacts", elapsedTime, artifacts.size())); - assertTrue("No artifacts found", artifacts.size() > 0); - assertTrue("testUserWorldSearch should take less than 2500ms currently " + elapsedTime + "ms", elapsedTime < 2500); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsXWidgetsExampleBlamTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsXWidgetsExampleBlamTest.java deleted file mode 100644 index f84b3034b3a..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/AtsXWidgetsExampleBlamTest.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import java.util.Map; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateComposite.TableLoadOption; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; -import org.eclipse.osee.framework.ui.skynet.FrameworkImage; -import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam; -import org.eclipse.osee.framework.ui.skynet.blam.BlamContributionManager; -import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.Assert; -import org.junit.Test; - -/** - * @author Karol M. Wilk - */ -public class AtsXWidgetsExampleBlamTest { - - private static final String NAME_OF_ATS_ITEM = "XWidgets Example Blam"; - - /** - * Load NAME_OF_ATS_ITEM blam, log any exceptions and report them as test failures. Purpose of this test is to serve - * as a regression test to various widgets loaded in XWidgetExampleBlam. - */ - @Test - public void testXWidgetsExampleBlam() throws Exception { - SevereLoggingMonitor monitorLog = TestUtil.severeLoggingStart(); - - XNavigateItemBlam item = null; - Map blams = BlamContributionManager.getBlamMap(); - - boolean foundBlam = blams.containsKey(NAME_OF_ATS_ITEM); - if (foundBlam) { - item = - new XNavigateItemBlam(new XNavigateItem(null, "Blam Operations", FrameworkImage.BLAM), - blams.get(NAME_OF_ATS_ITEM)); - } - - Assert.assertTrue(String.format("%s not found from list of provided Blams.", NAME_OF_ATS_ITEM), foundBlam); - item.run(TableLoadOption.ForcePend, TableLoadOption.NoUI); - - Assert.assertTrue( - "Exceptions were thrown during AtsXWidgetsExampleBlamTest (gui test of XWidgetExampleBlam) should be none.", - monitorLog.getSevereLogs().isEmpty()); - - TestUtil.severeLoggingEnd(monitorLog); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/CreateActionUsingAllActionableItemsTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/CreateActionUsingAllActionableItemsTest.java deleted file mode 100644 index 26d2034afdc..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/CreateActionUsingAllActionableItemsTest.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Created on Aug 29, 2011 - * - * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE - */ -package org.eclipse.osee.ats.util; - -import junit.framework.Assert; -import org.eclipse.osee.ats.core.client.action.ActionArtifact; -import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; -import org.eclipse.osee.framework.core.enums.DeletionFlag; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.eclipse.osee.support.test.util.TestUtil; -import org.junit.AfterClass; -import org.junit.BeforeClass; - -/** - * Test for {@link CreateActionUsingAllActionableItems} - * - * @author Donald G. Dunne - */ -public class CreateActionUsingAllActionableItemsTest { - - @BeforeClass - @AfterClass - public static void cleanup() throws OseeCoreException { - AtsBulkLoad.reloadConfig(true); - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), - CreateActionUsingAllActionableItemsTest.class.getSimpleName()); - for (Artifact art : ArtifactQuery.getArtifactListFromName("Big Action Test - Delete Me", - AtsUtil.getAtsBranchToken(), DeletionFlag.EXCLUDE_DELETED)) { - art.deleteAndPersist(transaction); - } - transaction.execute(); - } - - @org.junit.Test - public void test() throws Exception { - SevereLoggingMonitor monitor = TestUtil.severeLoggingStart(); - ActionArtifact action = CreateActionUsingAllActionableItems.createActionWithAllAis(); - if (TestUtil.isDemoDb()) { - Assert.assertEquals("Should be 14 workflows created", 14, action.getTeams().size()); - } else { - Assert.assertEquals("Should be 33 workflows created", 33, action.getTeams().size()); - } - TestUtil.severeLoggingEnd(monitor); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/CustomizeDemoTableTestUtil.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/CustomizeDemoTableTestUtil.java deleted file mode 100644 index 3d4a5c94d8e..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/CustomizeDemoTableTestUtil.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import java.util.logging.Level; -import org.eclipse.nebula.widgets.xviewer.XViewer; -import org.eclipse.nebula.widgets.xviewer.customize.dialog.XViewerCustomizeDialog; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; - -/** - * @author Megumi Telles - */ -public class CustomizeDemoTableTestUtil extends XViewerCustomizeDialog { - - public boolean DEBUG = false; - - public CustomizeDemoTableTestUtil(XViewer viewer) { - super(viewer); - } - - /** - * for testing purposes - simulate customization view - */ - @Override - public Control createDialogArea(Composite parent) { - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "===> Simulating CustomizationView " + "\"..."); - } - return super.createDialogArea(parent); - } - - /** - * for testing purposes - simulate the add all button click - */ - public void handleAddAllItemButtonClick() { - if (DEBUG) { - OseeLog.log(Activator.class, Level.INFO, "===> Simulating CustomizationView Add All Columns" + "\"..."); - } - super.handleAddAllItem(); - super.handleLoadConfigCust(); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/DemoTestUtil.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/DemoTestUtil.java deleted file mode 100644 index 6953ca6d37e..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/DemoTestUtil.java +++ /dev/null @@ -1,235 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import static org.eclipse.osee.framework.core.enums.DeletionFlag.EXCLUDE_DELETED; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.logging.Level; -import org.eclipse.osee.ats.api.ai.IAtsActionableItem; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.core.client.action.ActionManager; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.util.AtsUsersClient; -import org.eclipse.osee.ats.core.client.workflow.ChangeType; -import org.eclipse.osee.ats.core.config.ActionableItems; -import org.eclipse.osee.ats.core.config.AtsConfigCache; -import org.eclipse.osee.ats.core.config.TeamDefinitions; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.framework.core.client.ClientSessionManager; -import org.eclipse.osee.framework.core.data.IUserToken; -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; -import org.eclipse.osee.framework.core.exception.OseeAuthenticationException; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.skynet.core.User; -import org.eclipse.osee.framework.skynet.core.UserManager; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.eclipse.osee.framework.skynet.core.artifact.search.QueryOptions; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.support.test.util.DemoActionableItems; -import org.eclipse.osee.support.test.util.DemoArtifactTypes; -import org.eclipse.osee.support.test.util.DemoSawBuilds; -import org.eclipse.osee.support.test.util.DemoTeam; -import org.eclipse.osee.support.test.util.DemoWorkType; -import org.junit.Assert; - -/** - * @author Donald G. Dunne - */ -public class DemoTestUtil { - public static Map unCommittedWorkflows; - public static Map committedWorkflows; - public static TeamWorkFlowArtifact toolsTeamWorkflow; - - public static Result isDbPopulatedWithDemoData() throws Exception { - Collection robotArtifacts = - ArtifactQuery.getArtifactListFromTypeAndName(CoreArtifactTypes.SoftwareRequirement, "Robot", - DemoSawBuilds.SAW_Bld_1, QueryOptions.CONTAINS_MATCH_OPTIONS); - if (robotArtifacts.size() < 6) { - return new Result( - String.format( - "Expected at least 6 Software Requirements with name \"Robot\" but found [%s]. Database is not be populated with demo data.", - robotArtifacts.size())); - } - return Result.TrueResult; - } - - public static Collection getTaskTitles(boolean firstTaskWorkflow) { - if (firstTaskWorkflow) { - firstTaskWorkflow = false; - return Arrays.asList("Look into Graph View.", "Redesign how view shows values.", - "Discuss new design with Senior Engineer", "Develop prototype", "Show prototype to management", - "Create development plan", "Create test plan", "Make changes"); - } else { - return Arrays.asList("Document how Graph View works", "Update help contents", "Review new documentation", - "Publish documentation to website", "Remove old viewer", "Deploy release"); - } - } - - public static int getNumTasks() { - return getTaskTitles(false).size() + getTaskTitles(true).size(); - } - - public static User getDemoUser(IUserToken demoUser) throws OseeCoreException { - return UserManager.getUserByName(demoUser.getName()); - } - - /** - * Creates an action with the name title and demo code workflow - */ - public static TeamWorkFlowArtifact createSimpleAction(String title, SkynetTransaction transaction) throws OseeCoreException { - Artifact actionArt = - ActionManager.createAction(null, title, "Description", ChangeType.Improvement, "2", false, null, - ActionableItems.getActionableItems(Arrays.asList(DemoActionableItems.SAW_Code.getName())), new Date(), - AtsUsersClient.getUser(), null, transaction); - - TeamWorkFlowArtifact teamArt = null; - for (TeamWorkFlowArtifact team : ActionManager.getTeams(actionArt)) { - if (team.getTeamDefinition().getName().contains("Code")) { - teamArt = team; - } - } - return teamArt; - } - - public static Set getActionableItems(DemoActionableItems demoActionableItems) { - return ActionableItems.getActionableItems(Arrays.asList(demoActionableItems.getName())); - } - - public static IAtsActionableItem getActionableItem(DemoActionableItems demoActionableItems) { - return getActionableItems(demoActionableItems).iterator().next(); - } - - public static TeamWorkFlowArtifact addTeamWorkflow(Artifact actionArt, String title, SkynetTransaction transaction) throws OseeCoreException { - Set actionableItems = getActionableItems(DemoActionableItems.SAW_Test); - Collection teamDefs = TeamDefinitions.getImpactedTeamDefs(actionableItems); - - ActionManager.createTeamWorkflow(actionArt, teamDefs.iterator().next(), actionableItems, - Arrays.asList(AtsUsersClient.getUser()), transaction, new Date(), AtsUsersClient.getUser(), null); - - TeamWorkFlowArtifact teamArt = null; - for (TeamWorkFlowArtifact team : ActionManager.getTeams(actionArt)) { - if (team.getTeamDefinition().getName().contains("Test")) { - teamArt = team; - } - } - return teamArt; - } - - /** - * Create tasks named title + - */ - public static Collection createSimpleTasks(TeamWorkFlowArtifact teamArt, String title, int numTasks, SkynetTransaction transaction) throws Exception { - List names = new ArrayList(); - for (int x = 1; x < numTasks + 1; x++) { - names.add(title + " " + x); - } - return teamArt.createTasks(names, Arrays.asList(AtsUsersClient.getUser()), new Date(), AtsUsersClient.getUser(), - transaction); - } - - public static TeamWorkFlowArtifact getToolsTeamWorkflow() throws OseeCoreException { - if (toolsTeamWorkflow == null) { - for (Artifact art : ArtifactQuery.getArtifactListFromName("Button S doesn't work on help", - AtsUtil.getAtsBranch(), EXCLUDE_DELETED)) { - if (art.isOfType(AtsArtifactTypes.TeamWorkflow)) { - toolsTeamWorkflow = (TeamWorkFlowArtifact) art; - } - } - } - return toolsTeamWorkflow; - } - - public static Artifact getUncommittedActionWorkflow(DemoWorkType demoWorkType) throws OseeCoreException { - if (unCommittedWorkflows == null) { - unCommittedWorkflows = new HashMap(); - for (Artifact art : ArtifactQuery.getArtifactListFromName( - "SAW (uncommitted) More Reqt Changes for Diagram View", AtsUtil.getAtsBranch(), EXCLUDE_DELETED)) { - if (art.isOfType(DemoArtifactTypes.DemoCodeTeamWorkflow)) { - unCommittedWorkflows.put(DemoWorkType.Code, art); - } else if (art.isOfType(DemoArtifactTypes.DemoTestTeamWorkflow)) { - unCommittedWorkflows.put(DemoWorkType.Test, art); - } else if (art.isOfType(DemoArtifactTypes.DemoReqTeamWorkflow)) { - unCommittedWorkflows.put(DemoWorkType.Requirements, art); - } else if (art.isOfType(AtsArtifactTypes.TeamWorkflow)) { - unCommittedWorkflows.put(DemoWorkType.SW_Design, art); - } - } - } - return unCommittedWorkflows.get(demoWorkType); - } - - public static Artifact getCommittedActionWorkflow(DemoWorkType demoWorkType) throws OseeCoreException { - if (committedWorkflows == null) { - committedWorkflows = new HashMap(); - for (Artifact art : ArtifactQuery.getArtifactListFromName("SAW (committed) Reqt Changes for Diagram View", - AtsUtil.getAtsBranch(), EXCLUDE_DELETED)) { - if (art.isOfType(DemoArtifactTypes.DemoCodeTeamWorkflow)) { - committedWorkflows.put(DemoWorkType.Code, art); - } else if (art.isOfType(DemoArtifactTypes.DemoTestTeamWorkflow)) { - committedWorkflows.put(DemoWorkType.Test, art); - } else if (art.isOfType(DemoArtifactTypes.DemoReqTeamWorkflow)) { - committedWorkflows.put(DemoWorkType.Requirements, art); - } else if (art.isOfType(AtsArtifactTypes.TeamWorkflow)) { - committedWorkflows.put(DemoWorkType.SW_Design, art); - } - } - } - return committedWorkflows.get(demoWorkType); - } - - public static void setUpTest() throws Exception { - try { - // This test should only be run on test db - Assert.assertFalse(AtsUtil.isProductionDb()); - // Confirm test setup with demo data - Result result = isDbPopulatedWithDemoData(); - Assert.assertTrue(result.getText(), result.isTrue()); - // Confirm user is Joe Smith - Assert.assertTrue("User \"Joe Smith\" does not exist in DB. Run Demo DBInit prior to this test.", - UserManager.getUserByUserId("Joe Smith") != null); - // Confirm user is Joe Smith - Assert.assertTrue( - "Authenticated user should be \"Joe Smith\" and is not. Check that Demo Application Server is being run.", - AtsUsersClient.getUser().getUserId().equals("Joe Smith")); - } catch (OseeAuthenticationException ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - Assert.fail("Can't authenticate, either Demo Application Server is not running or Demo DbInit has not been performed"); - } - - } - - public static IAtsTeamDefinition getTeamDef(DemoTeam team) throws OseeCoreException { - // Add check to keep exception from occurring for OSEE developers running against production - if (ClientSessionManager.isProductionDataStore()) { - return null; - } - try { - String name = team.name().replaceAll("_", " "); - return AtsConfigCache.instance.getSoleByName(name, IAtsTeamDefinition.class); - } catch (Exception ex) { - OseeLog.log(Activator.class, Level.SEVERE, ex); - } - return null; - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/ImageManagerTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/ImageManagerTest.java deleted file mode 100644 index 44ce22174b1..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/ImageManagerTest.java +++ /dev/null @@ -1,143 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; -import java.io.ByteArrayInputStream; -import java.net.URL; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; -import org.eclipse.osee.framework.core.exception.OseeArgumentException; -import org.eclipse.osee.framework.jdk.core.util.Lib; -import org.eclipse.osee.framework.logging.IHealthStatus; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.logging.SevereLoggingMonitor; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCache; -import org.eclipse.osee.framework.skynet.core.artifact.ArtifactCacheQuery; -import org.eclipse.osee.framework.skynet.core.artifact.BranchManager; -import org.eclipse.osee.framework.ui.plugin.PluginUiImage; -import org.eclipse.osee.framework.ui.skynet.ArtifactImageManager; -import org.eclipse.osee.framework.ui.swt.ImageManager; -import org.eclipse.osee.framework.ui.swt.KeyedImage; - -/** - * @author Donald G. Dunne - */ -public abstract class ImageManagerTest { - - private final KeyedImage[] oseeImages; - private final String imageClassName; - private static SevereLoggingMonitor monitorLog; - - public ImageManagerTest(String imageClassName, KeyedImage[] oseeImages) { - this.imageClassName = imageClassName; - this.oseeImages = oseeImages; - } - - @org.junit.BeforeClass - public static void testSetup() throws Exception { - monitorLog = new SevereLoggingMonitor(); - OseeLog.registerLoggerListener(monitorLog); - } - - @org.junit.AfterClass - public static void testCleanup() throws Exception { - List stats = monitorLog.getAllLogs(); - for (IHealthStatus stat : new CopyOnWriteArrayList(stats)) { - if (stat.getException() != null) { - fail("Exception: " + Lib.exceptionToString(stat.getException())); - } - } - StringBuffer sb = new StringBuffer(); - for (IHealthStatus stat : new CopyOnWriteArrayList(stats)) { - if (stat.getMessage().contains("Unable to load the image for") && !stat.getMessage().contains("nothere")) { - sb.append(stat.getMessage() + "\n"); - } - } - if (!sb.toString().equals("")) { - fail(sb.toString()); - } - } - - /** - * Test that all image enums have associated image files. (Non return missing image) - */ - @org.junit.Test - public void testFrameworkImageEnums() throws Exception { - StringBuffer sb = new StringBuffer(); - for (KeyedImage oseeImage : oseeImages) { - if (oseeImage == ImageManager.MISSING) { - continue; - } - assertNotNull(String.format("[%s] Image not defined for [%s]", imageClassName, oseeImage), - ImageManager.getImage(oseeImage)); - if (ImageManager.getImage(oseeImage).equals(ImageManager.getImage(ImageManager.MISSING))) { - sb.append(String.format("\n[%s] Image not defined for [%s]", imageClassName, oseeImage)); - } - } - assertEquals("", sb.toString()); - } - - @org.junit.Test - public void testGetImageByType() throws Exception { - assertTrue("Image returned not a folder image.", - ArtifactImageManager.getImage(CoreArtifactTypes.Folder).equals(ImageManager.getImage(PluginUiImage.FOLDER))); - - } - - @org.junit.Test - public void testGetImageByArtifact() throws Exception { - Artifact folder = - ArtifactCacheQuery.getOrCreateSingletonArtifactByText(CoreArtifactTypes.Folder, CoreAttributeTypes.StaticId, - "user.groups", BranchManager.getCommonBranch()); - assertTrue("Image returned not a folder image.", - ArtifactImageManager.getImage(folder).equals(ImageManager.getImage(PluginUiImage.FOLDER))); - ArtifactCache.deCache(folder); - } - - public static ByteArrayInputStream getByteArrayInputStream(String imageFilename) throws Exception { - URL imageFile = Platform.getBundle(Activator.PLUGIN_ID).getResource("images/" + imageFilename); - if (imageFile == null) { - throw new OseeArgumentException("Invalid image filename."); - } - return new ByteArrayInputStream(Lib.inputStreamToBytes(imageFile.openStream())); - } - - public enum MissingImage implements KeyedImage { - NOT_HERE("nothere.gif"); - - private final String fileName; - - private MissingImage(String fileName) { - this.fileName = fileName; - } - - @Override - public ImageDescriptor createImageDescriptor() { - return ImageManager.createImageDescriptor(Activator.PLUGIN_ID, "images", fileName); - } - - @Override - public String getImageKey() { - return Activator.PLUGIN_ID + "." + fileName; - } - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/ImportActionsViaSpreadsheetTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/ImportActionsViaSpreadsheetTest.java deleted file mode 100644 index b715f3e168d..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/ImportActionsViaSpreadsheetTest.java +++ /dev/null @@ -1,101 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import static org.eclipse.osee.framework.core.enums.DeletionFlag.EXCLUDE_DELETED; -import static org.junit.Assert.assertFalse; -import java.io.File; -import java.util.Arrays; -import java.util.List; -import org.eclipse.osee.ats.api.data.AtsArtifactTypes; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.config.AtsBulkLoad; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.config.AtsVersionService; -import org.eclipse.osee.ats.util.Import.ImportActionsViaSpreadsheetBlam; -import org.eclipse.osee.ats.util.Import.ImportActionsViaSpreadsheetBlam.ImportOption; -import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; - -/** - * This test is intended to be run against a demo database. - * - * @author Donald G. Dunne - */ -public class ImportActionsViaSpreadsheetTest { - - private static final String FIRST_ACTION_TITLE = "Fix the SAW Editor"; - private static final String SECOND_ACTION_TITLE = "Add the new feature"; - private static final String THIRD_ACTION_TITLE = "Help the users"; - private static List ActionTitles = - Arrays.asList(FIRST_ACTION_TITLE, SECOND_ACTION_TITLE, THIRD_ACTION_TITLE); - - @BeforeClass - @AfterClass - public static void cleanUp() throws Exception { - AtsTestUtil.cleanupSimpleTest(ActionTitles); - } - - @Before - public void setUp() throws Exception { - // This test should only be run on test db - assertFalse(AtsUtil.isProductionDb()); - - for (String title : ActionTitles) { - List arts = ArtifactQuery.getArtifactListFromName(title, AtsUtil.getAtsBranch(), EXCLUDE_DELETED); - Assert.assertEquals(String.format("Action [%s] should have been purged before test start.", title), 0, - arts.size()); - } - } - - @org.junit.Test - public void testImport() throws Exception { - AtsBulkLoad.loadConfig(true); - ImportActionsViaSpreadsheetBlam blam = new ImportActionsViaSpreadsheetBlam(); - - File file = blam.getSampleSpreadsheetFile(); - Assert.assertNotNull(file); - - XResultData rd = blam.importActions(file, ImportOption.NONE); - Assert.assertEquals("No errors should be reported", "", rd.toString()); - - List arts = - ArtifactQuery.getArtifactListFromName(FIRST_ACTION_TITLE, AtsUtil.getAtsBranch(), EXCLUDE_DELETED); - Assert.assertEquals("One Action and 3 Team Workflows should be created", 4, arts.size()); - int codeCount = 0, testCount = 0; - TeamWorkFlowArtifact testWf = null; - for (Artifact art : arts) { - if (art.isOfType(AtsArtifactTypes.TeamWorkflow)) { - TeamWorkFlowArtifact teamArt = (TeamWorkFlowArtifact) art; - if (teamArt.getTeamDefinition().getName().contains("Code")) { - codeCount++; - } else if (teamArt.getTeamDefinition().getName().contains("Test")) { - testCount++; - testWf = teamArt; - } - } - } - Assert.assertEquals(2, codeCount); - Assert.assertEquals(1, testCount); - - Assert.assertEquals("What needs to be done by Test team", testWf.getDescription()); - Assert.assertEquals("5", testWf.getSoleAttributeValue(AtsAttributeTypes.PriorityType, "")); - Assert.assertTrue(testWf.getSoleAttributeValue(AtsAttributeTypes.EstimatedHours, 0.0) == 4.0); - Assert.assertEquals("Improvement", testWf.getSoleAttributeValue(AtsAttributeTypes.ChangeType, null)); - Assert.assertEquals("SAW_Bld_3", AtsVersionService.get().getTargetedVersion(testWf).getName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/MassEditorUtil.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/MassEditorUtil.java deleted file mode 100644 index 9b35647ece8..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/MassEditorUtil.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import static org.junit.Assert.assertTrue; -import java.util.Collection; -import org.eclipse.osee.framework.ui.skynet.artifact.massEditor.MassArtifactEditor; - -/** - * @author Donald G. Dunne - */ -public class MassEditorUtil { - - public static MassArtifactEditor getSingleEditorOrFail() { - // Retrieve results from opened editor and test - Collection editors = MassArtifactEditor.getEditors(); - assertTrue("Expecting 1 editor open, currently " + editors.size(), editors.size() == 1); - return editors.iterator().next(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/NavigateTestUtil.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/NavigateTestUtil.java deleted file mode 100644 index 0dafbdd3bc5..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/NavigateTestUtil.java +++ /dev/null @@ -1,151 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.logging.Level; -import org.eclipse.osee.ats.internal.Activator; -import org.eclipse.osee.ats.navigate.AtsNavigateViewItems; -import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.jdk.core.type.HashCollection; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.ui.plugin.xnavigate.XNavigateItem; -import org.eclipse.swt.widgets.TreeItem; -import org.junit.Assert; - -/** - * @author Donald G. Dunne - */ -public final class NavigateTestUtil { - - private static final HashCollection nameToNavItem = - new HashCollection(true, ArrayList.class, 100); - - private static boolean ensurePopulatedRanOnce = false; - - public static final String[] expectedErrorCols1 = { - "ats.column.type", - "ats.column.team", - "ats.column.initWf", - "ats.column.origWf"}; - - public static final String[] expectedErrorCols2 = { - "ats.column.state", - "ats.column.assignees", - "ats.column.versionTarget", - "ats.column.annualCostAvoidance", - "ats.column.remainingHours", - "ats.column.statePercentComplete", - "ats.column.stateTaskPercentComplete", - "ats.column.stateReviewPercentComplete", - "ats.column.totalPercentComplete", - "ats.column.stateHoursSpent", - "ats.column.stateTaskHoursSpent", - "ats.column.stateReviewHoursSpent", - "ats.column.stateTotalHoursSpent", - "ats.column.totalHoursSpent", - "ats.column.implementer", - "ats.column.completedDate", - "ats.column.cancelledDate", - "ats.column.manDaysNeeded"}; - - private NavigateTestUtil() { - // Test Utility - } - - public static XNavigateItem getAtsNavigateItem(String itemName) { - ensurePopulated(); - Collection navigateItems = nameToNavItem.getValues(itemName); - Assert.assertNotNull("No items of name [" + itemName + "] found", navigateItems); - Assert.assertFalse("0 items found of name [" + itemName + "]", navigateItems.isEmpty()); - Assert.assertTrue("Multiple items of name [" + itemName + "] found; use getAtsNavigateItems", - navigateItems.size() == 1); - return navigateItems.iterator().next(); - } - - public static Collection getAtsNavigateItems(String itemName) { - ensurePopulated(); - return nameToNavItem.getValues(itemName); - } - - private static synchronized void ensurePopulated() { - if (!ensurePopulatedRanOnce) { - ensurePopulatedRanOnce = true; - for (XNavigateItem item : AtsNavigateViewItems.getInstance().getSearchNavigateItems()) { - addToMap(item); - } - } - } - - private static void addToMap(XNavigateItem item) { - nameToNavItem.put(item.getName(), item); - for (XNavigateItem child : item.getChildren()) { - addToMap(child); - } - } - - public static void testExpectedVersusActual(String name, Collection arts, IArtifactType artType, int expectedNumOfType) { - int actualNumOfType = numOfType(arts, artType); - String expectedStr = - String.format("\"%s\" Expected: %s Found: %s Of Type: %s", name, expectedNumOfType, actualNumOfType, - artType); - compare(expectedNumOfType, actualNumOfType, expectedStr); - } - - public static void testExpectedVersusActual(String testStr, int expected, int actual) { - String expectedStr = String.format("%sExpected: %s Found: %s", testStr, expected, actual); - compare(expected, actual, expectedStr); - } - - public static void testExpectedVersusActual(String testStr, boolean expectedCond, boolean actualCond) { - String expectedStr = String.format("%sExpected: %s Found: %s", testStr, expectedCond, actualCond); - compare(expectedCond, actualCond, expectedStr); - } - - public static void compare(int expectedNumOfType, int actualNumOfType, String expectedStr) { - if (expectedNumOfType != actualNumOfType) { - OseeLog.log(Activator.class, Level.SEVERE, expectedStr, null); - } - Assert.assertTrue(expectedStr, actualNumOfType == expectedNumOfType); - } - - public static void compare(boolean expectedCond, boolean actualCond, String expectedStr) { - if (expectedCond != actualCond) { - OseeLog.log(Activator.class, Level.SEVERE, expectedStr, null); - } - Assert.assertTrue(expectedStr, expectedCond == actualCond); - } - - public static int numOfType(Collection arts, IArtifactType artType) { - int num = 0; - for (Artifact art : arts) { - if (art.isOfType(artType)) { - num++; - } - } - return num; - } - - public static void getAllArtifactChildren(TreeItem items[], Collection children) { - for (TreeItem item : items) { - if (item.getData() instanceof Artifact) { - //if (!children.contains(item.getData())) children.add((Artifact) item.getData()); - children.add((Artifact) item.getData()); - if (item.getExpanded()) { - getAllArtifactChildren(item.getItems(), children); - } - } - } - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/SMATestUtil.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/SMATestUtil.java deleted file mode 100644 index 1f8e1e4d57d..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/SMATestUtil.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import java.util.Arrays; -import java.util.Collection; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.core.client.workflow.AbstractWorkflowArtifact; -import org.eclipse.osee.ats.core.client.workflow.AtsWorkStateFactory; -import org.eclipse.osee.ats.core.client.workflow.HoursSpentUtil; -import org.eclipse.osee.ats.core.client.workflow.PercentCompleteTotalUtil; -import org.eclipse.osee.ats.core.model.impl.WorkStateImpl; -import org.junit.Assert; - -/** - * @author Donald G. Dunne - */ -public class SMATestUtil { - - public static void validateSMA(AbstractWorkflowArtifact sma, String stateName, int totalPercent, double hoursSpent) throws Exception { - validateSMAs(Arrays.asList(sma), stateName, totalPercent, hoursSpent); - - } - - public static void validateSMAs(Collection awas, String stateName, int totalPercent, double hoursSpent) throws Exception { - for (AbstractWorkflowArtifact awa : awas) { - Assert.assertEquals("Current State wrong for " + awa.getHumanReadableId(), - awa.getStateMgr().getCurrentStateName(), stateName); - if (awa.isCompletedOrCancelled()) { - Assert.assertEquals("ats.CurrentState wrong " + awa.getHumanReadableId(), - awa.getStateMgr().getCurrentStateName() + ";;;", - awa.getSoleAttributeValue(AtsAttributeTypes.CurrentState)); - } - Assert.assertEquals("Percent wrong for " + awa.getHumanReadableId(), - PercentCompleteTotalUtil.getPercentCompleteTotal(awa), totalPercent); - Assert.assertEquals("Hours Spent wrong for " + awa.getHumanReadableId(), - HoursSpentUtil.getHoursSpentTotal(awa), hoursSpent, 0.0); - - for (String xml : awa.getAttributesToStringList(AtsAttributeTypes.State)) { - WorkStateImpl state = AtsWorkStateFactory.getFromXml(xml); - boolean isCompletedCancelledState = isCompletedCancelledState(awa, state.getName()); - if (isCompletedCancelledState) { - Assert.assertTrue("completed/cancelled ats.State [" + xml + "] wrong " + awa.getHumanReadableId(), - xml.endsWith(";;;")); - } - } - } - } - - public static boolean isCompletedCancelledState(AbstractWorkflowArtifact aba, String stateName) { - return aba.getWorkDefinition().getStateByName(stateName).getStateType().isCompletedOrCancelledState(); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/WorldEditorUtil.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/WorldEditorUtil.java deleted file mode 100644 index 06f9d40bbb2..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/util/WorldEditorUtil.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.util; - -import static org.junit.Assert.assertTrue; -import java.util.Collection; -import org.eclipse.osee.ats.world.WorldEditor; - -/** - * @author Donald G. Dunne - */ -public class WorldEditorUtil { - - public static WorldEditor getSingleEditorOrFail() { - // Retrieve results from opened editor and test - Collection editors = WorldEditor.getEditors(); - assertTrue("Expecting 1 editor open, currently " + editors.size(), editors.size() == 1); - return editors.iterator().next(); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/workflow/SMAPromptChangeStatusTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/workflow/SMAPromptChangeStatusTest.java deleted file mode 100644 index e099afb999c..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/workflow/SMAPromptChangeStatusTest.java +++ /dev/null @@ -1,154 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.workflow; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import java.util.Arrays; -import java.util.Collection; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.task.TaskArtifact; -import org.eclipse.osee.ats.core.client.task.TaskStates; -import org.eclipse.osee.ats.core.client.team.TeamState; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionHelper; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionManager; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionOption; -import org.eclipse.osee.ats.core.client.workflow.transition.TransitionResults; -import org.eclipse.osee.ats.editor.SMAPromptChangeStatus; -import org.eclipse.osee.ats.util.AtsUtil; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.ats.util.SMATestUtil; -import org.eclipse.osee.framework.core.util.Result; -import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; -import org.eclipse.osee.framework.skynet.core.transaction.TransactionManager; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; - -/** - * @author Donald G. Dunne - */ -public class SMAPromptChangeStatusTest { - - public static TeamWorkFlowArtifact teamArt; - - @Before - public void setUp() throws Exception { - // This test should only be run on test db - assertFalse("Test should not be run in production db", AtsUtil.isProductionDb()); - } - - @BeforeClass - public static void testCleanupPre() throws Exception { - AtsTestUtil.cleanupSimpleTest(SMAPromptChangeStatusTest.class.getSimpleName()); - } - - @org.junit.Test - public void testInitialize() throws Exception { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); - teamArt = DemoTestUtil.createSimpleAction(getClass().getSimpleName(), transaction); - transaction.execute(); - assertNotNull(teamArt); - } - - @org.junit.Test - public void testChangeTaskStatusNoResolution() throws Exception { - - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); - Collection tasks = - DemoTestUtil.createSimpleTasks(teamArt, getClass().getSimpleName() + "_NoRes", 4, transaction); - transaction.execute(); - - assertTrue(tasks.size() == 4); - - assertTrue(SMAPromptChangeStatus.isValidToChangeStatus(tasks).isTrue()); - - // Change two to 100, 1 hr split - SMAPromptChangeStatus.performChangeStatus(tasks, null, 1, 100, true, true); - SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getName(), 100, 0.25); - - // Change two to 100, 1 hr split - // hours should be added to inwork state; make sure completed state isn't statused - SMAPromptChangeStatus.performChangeStatus(tasks, null, 1, 100, true, true); - SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getName(), 100, 0.50); - - // Change two to 99, 1 hr split - // transitions to InWork and adds hours - // make sure hours not added to completed state - SMAPromptChangeStatus.performChangeStatus(tasks, null, 1, 99, true, true); - SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getName(), 99, 0.75); - - // Change two to 55, 0 - // no transition, no hours spent - SMAPromptChangeStatus.performChangeStatus(tasks, null, 0, 55, true, true); - SMATestUtil.validateSMAs(tasks, TaskStates.InWork.getName(), 55, 0.75); - - } - - @org.junit.Test - public void testChangeStatusFailsIfTaskCancelled() throws Exception { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); - Collection tasks = - DemoTestUtil.createSimpleTasks(teamArt, getClass().getSimpleName() + "_Cancel", 2, transaction); - transaction.execute(); - - assertTrue(tasks.size() == 2); - TaskArtifact cancelTask = tasks.iterator().next(); - - // test that if one task is cancelled, can't change status - transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); - TransitionHelper helper = - new TransitionHelper("Transition to Cancelled", Arrays.asList(cancelTask), TaskStates.Cancelled.getName(), - null, null, TransitionOption.None); - TransitionManager transitionMgr = new TransitionManager(helper, transaction); - TransitionResults results = transitionMgr.handleAll(); - transitionMgr.getTransaction().execute(); - Assert.assertTrue("Transition should have no errors", results.isEmpty()); - - Result result = SMAPromptChangeStatus.isValidToChangeStatus(tasks); - assertTrue(result.isFalse()); - assertTrue(result.getText().contains("Can not status a cancelled")); - - } - - @org.junit.Test - public void testChangeStatusFailsIfTaskWrongRelatedToState() throws Exception { - SkynetTransaction transaction = - TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); - Collection tasks = - DemoTestUtil.createSimpleTasks(teamArt, getClass().getSimpleName() + "_RelState", 2, transaction); - transaction.execute(); - - assertTrue(tasks.size() == 2); - TaskArtifact taskArt = tasks.iterator().next(); - - // test that if task not in related-to state of workflows's current status, can't change status - transaction = TransactionManager.createTransaction(AtsUtil.getAtsBranch(), "Prompt Change Status Test"); - taskArt.setSoleAttributeValue(AtsAttributeTypes.RelatedToState, TeamState.Analyze.getName()); - transaction.execute(); - Result result = SMAPromptChangeStatus.isValidToChangeStatus(tasks); - assertTrue(result.isFalse()); - assertTrue(result.getText().contains("Task work must be done in")); - } - - @AfterClass - public static void testCleanupPost() throws Exception { - AtsTestUtil.cleanupSimpleTest(SMAPromptChangeStatusTest.class.getSimpleName()); - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/AtsTest_Demo_World_Search_Suite.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/AtsTest_Demo_World_Search_Suite.java deleted file mode 100644 index 295b8202fa2..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/AtsTest_Demo_World_Search_Suite.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.eclipse.osee.ats.world.search; - -import static org.junit.Assert.assertTrue; -import org.eclipse.osee.ats.util.DemoTestUtil; -import org.eclipse.osee.framework.core.client.ClientSessionManager; -import org.eclipse.osee.framework.jdk.core.util.OseeProperties; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({LegacyPcrIdQuickSearchTest.class, TeamDefinitionQuickSearchTest.class}) -/** - * @author Donald G. Dunne - */ -public class AtsTest_Demo_World_Search_Suite { - @BeforeClass - public static void setUp() throws Exception { - OseeProperties.setIsInTest(true); - assertTrue("Demo Application Server must be running.", - ClientSessionManager.getAuthenticationProtocols().contains("demo")); - assertTrue("Client must authenticate using demo protocol", - ClientSessionManager.getSession().getAuthenticationProtocol().equals("demo")); - System.out.println("\n\nBegin " + AtsTest_Demo_World_Search_Suite.class.getSimpleName()); - DemoTestUtil.setUpTest(); - } - - @AfterClass - public static void tearDown() throws Exception { - System.out.println("End " + AtsTest_Demo_World_Search_Suite.class.getSimpleName()); - } -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/LegacyPcrIdQuickSearchTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/LegacyPcrIdQuickSearchTest.java deleted file mode 100644 index 5366d072dac..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/LegacyPcrIdQuickSearchTest.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ - -package org.eclipse.osee.ats.world.search; - -import java.util.Arrays; -import java.util.Collection; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.data.AtsAttributeTypes; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.junit.Test; - -/** - * Test Case for {@link LegacyPcrIdQuickSearch} - * - * @author Donald G. Dunne - */ -public class LegacyPcrIdQuickSearchTest { - - @Test - public void testPerformSearch() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName() + ".testPerformSearch"); - TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); - teamWf.persist(getClass().getSimpleName()); - - TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); - teamWf2.persist(getClass().getSimpleName()); - - LegacyPcrIdQuickSearch srch = new LegacyPcrIdQuickSearch(Arrays.asList("67676")); - Assert.assertTrue("No results should be found", srch.performSearch().isEmpty()); - - teamWf.setSoleAttributeValue(AtsAttributeTypes.LegacyPcrId, "67676"); - teamWf.persist(getClass().getSimpleName()); - - srch = new LegacyPcrIdQuickSearch(Arrays.asList("67676")); - Assert.assertEquals("Should return teamWf", teamWf, srch.performSearch().iterator().next()); - - teamWf2.setSoleAttributeValue(AtsAttributeTypes.LegacyPcrId, "32323"); - teamWf2.persist(getClass().getSimpleName()); - - srch = new LegacyPcrIdQuickSearch(Arrays.asList("67676", "32323")); - Collection results = srch.performSearch(); - Assert.assertTrue(results.contains(teamWf)); - Assert.assertTrue(results.contains(teamWf2)); - - teamWf.setSoleAttributeValue(AtsAttributeTypes.LegacyPcrId, "RPCR_67676"); - teamWf.persist(getClass().getSimpleName()); - - // As single string, neither should be found if exactMatch == true - srch = new LegacyPcrIdQuickSearch(Arrays.asList("RPCR 67676")); - results = srch.performSearch(true); - Assert.assertTrue("No results should be found", results.isEmpty()); - - // As single string, both should be found if exactMatch == false - srch = new LegacyPcrIdQuickSearch(Arrays.asList("RPCR 67676")); - results = srch.performSearch(false); - Assert.assertTrue(results.contains(teamWf)); - - } - -} diff --git a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/TeamDefinitionQuickSearchTest.java b/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/TeamDefinitionQuickSearchTest.java deleted file mode 100644 index 61d2ae5a238..00000000000 --- a/plugins/org.eclipse.osee.ats.test/src/org/eclipse/osee/ats/world/search/TeamDefinitionQuickSearchTest.java +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.ats.world.search; - -import java.util.Arrays; -import java.util.Collection; -import junit.framework.Assert; -import org.eclipse.osee.ats.api.team.IAtsTeamDefinition; -import org.eclipse.osee.ats.core.client.AtsTestUtil; -import org.eclipse.osee.ats.core.client.team.TeamWorkFlowArtifact; -import org.eclipse.osee.ats.core.config.AtsConfigCache; -import org.eclipse.osee.framework.core.exception.OseeCoreException; -import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.junit.Test; - -/** - * Test Case for {@link TeamDefinitionQuickSearch} - * - * @author Donald G. Dunne - */ -public class TeamDefinitionQuickSearchTest { - - @Test - public void testPerformSearch() throws OseeCoreException { - AtsTestUtil.cleanupAndReset(getClass().getSimpleName() + ".testPerformSearch"); - TeamWorkFlowArtifact teamWf = AtsTestUtil.getTeamWf(); - teamWf.persist(getClass().getSimpleName()); - - IAtsTeamDefinition randomTeamDef = - AtsConfigCache.instance.getTeamDefinitionFactory().createTeamDefinition("tdqst", getClass().getSimpleName()); - - TeamDefinitionQuickSearch srch = new TeamDefinitionQuickSearch(Arrays.asList(randomTeamDef)); - Assert.assertTrue("No results should be found", srch.performSearch().isEmpty()); - - IAtsTeamDefinition teamDef = teamWf.getTeamDefinition(); - - srch = new TeamDefinitionQuickSearch(Arrays.asList(teamDef)); - Assert.assertEquals("Should return teamWf", teamWf, srch.performSearch().iterator().next()); - - srch = new TeamDefinitionQuickSearch(Arrays.asList(teamDef, randomTeamDef)); - Assert.assertEquals("Should return teamWf", teamWf, srch.performSearch().iterator().next()); - - TeamWorkFlowArtifact teamWf2 = AtsTestUtil.getTeamWf2(); - teamWf2.persist(getClass().getSimpleName()); - - srch = new TeamDefinitionQuickSearch(Arrays.asList(teamDef, randomTeamDef)); - Collection results = srch.performSearch(); - Assert.assertTrue(results.contains(teamWf)); - Assert.assertTrue(results.contains(teamWf2)); - } - -} diff --git a/plugins/org.eclipse.osee.ats/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats/META-INF/MANIFEST.MF index 42a980b72ae..8688d033e8c 100644 --- a/plugins/org.eclipse.osee.ats/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.ats/META-INF/MANIFEST.MF @@ -38,6 +38,7 @@ Export-Package: org.eclipse.osee.ats, org.eclipse.osee.ats.config.copy, org.eclipse.osee.ats.config.wizard, org.eclipse.osee.ats.editor, + org.eclipse.osee.ats.editor.renderer, org.eclipse.osee.ats.editor.stateItem, org.eclipse.osee.ats.export, org.eclipse.osee.ats.health, diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAMembersTab.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAMembersTab.java index 2a5ab9ef1f8..6e7fbcba751 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAMembersTab.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/SMAMembersTab.java @@ -154,15 +154,17 @@ public class SMAMembersTab extends FormPage implements IWorldViewerEventHandler public IStatus runInUIThread(IProgressMonitor monitor) { if (firstTime) { try { - updateTitleBar(); - setLoading(false); - boolean createdAndLoaded = createMembersBody(); - if (!createdAndLoaded) { - smaGoalMembersSection.reload(); + if (managedForm != null && Widgets.isAccessible(managedForm.getForm())) { + updateTitleBar(); + setLoading(false); + boolean createdAndLoaded = createMembersBody(); + if (!createdAndLoaded) { + smaGoalMembersSection.reload(); + } + jumptoScrollLocation(); + FormsUtil.addHeadingGradient(editor.getToolkit(), managedForm.getForm(), true); + editor.onDirtied(); } - jumptoScrollLocation(); - FormsUtil.addHeadingGradient(editor.getToolkit(), managedForm.getForm(), true); - editor.onDirtied(); firstTime = false; } catch (OseeCoreException ex) { handleException(ex); @@ -174,8 +176,12 @@ public class SMAMembersTab extends FormPage implements IWorldViewerEventHandler updateTitleBar(); } catch (OseeCoreException ex) { handleException(ex); + } finally { + showBusy(false); + } + if (managedForm != null && Widgets.isAccessible(managedForm.getForm())) { + smaGoalMembersSection.refresh(); } - smaGoalMembersSection.refresh(); } return Status.OK_STATUS; } diff --git a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoActionableItems.java b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoActionableItems.java deleted file mode 100644 index c3c4c7a80d2..00000000000 --- a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoActionableItems.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.support.test.util; - -/** - * @author Donald G. Dunne - */ -public enum DemoActionableItems { - - Actionable_Items, - SAW_CSCI, - SAW_Code, - Test_Page, - SAW_Test, - RunLists, - SAW_Requirements, - SAW_HW, - Adapter, - Manual, - Screen, - Case, - SAW_SW_Design, - CIS_CSCI, - CIS_Code, - CIS_Test, - CIS_Requirements, - CIS_SW_Design, - Tools, - Website, - Reader, - Timesheet, - Results_Reporter, - Processes, - Coding_Standards, - Config_Mgmt, - Reviews, - New_Employee_Manual, - Facilities, - Network, - Vending_Machines, - Computers, - Break_Room, - Backups; - - public String getName() { - return name().replaceAll("_", " "); - } -} diff --git a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoArtifactTypes.java b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoArtifactTypes.java deleted file mode 100644 index c2f5e9351de..00000000000 --- a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoArtifactTypes.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.support.test.util; - -import org.eclipse.osee.framework.core.data.IArtifactType; -import org.eclipse.osee.framework.core.data.TokenFactory; - -/** - * @author Ryan D. Brooks - */ -public final class DemoArtifactTypes { - - // @formatter:off - public static final IArtifactType DemoCodeTeamWorkflow = TokenFactory.createArtifactType(0x000000000000004FL, "Demo Code Team Workflow"); - public static final IArtifactType DemoReqTeamWorkflow = TokenFactory.createArtifactType(0x0000000000000050L, "Demo Req Team Workflow"); - public static final IArtifactType DemoTestTeamWorkflow = TokenFactory.createArtifactType(0x0000000000000051L, "Demo Test Team Workflow"); - // @formatter:on - - private DemoArtifactTypes() { - // Constants - } -} diff --git a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoSawBuilds.java b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoSawBuilds.java deleted file mode 100644 index 5ab7e7aeb70..00000000000 --- a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoSawBuilds.java +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.support.test.util; - -import org.eclipse.osee.framework.core.data.IOseeBranch; -import org.eclipse.osee.framework.core.data.TokenFactory; - -/** - * @author Donald G. Dunne - */ -public final class DemoSawBuilds { - - public static final IOseeBranch SAW_Bld_1 = TokenFactory.createBranch("AyH_f2sSKy3l07fIvAAA", "SAW_Bld_1"); - public static final IOseeBranch SAW_Bld_2 = TokenFactory.createBranch("AyH_f2sSKy3l07fIvBBB", "SAW_Bld_2"); - public static final IOseeBranch SAW_Bld_3 = TokenFactory.createBranch("AyH_f2sSKy3l07fIvCCC", "SAW_Bld_3"); - - private DemoSawBuilds() { - // Constants - } -} \ No newline at end of file diff --git a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoTeam.java b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoTeam.java deleted file mode 100644 index 074d9078176..00000000000 --- a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoTeam.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.support.test.util; - -/** - * Convenience method for demo plugin to retrieve configured teams for use mostly in DemoNavigateViewItem. - * - * @author Donald G. Dunne - */ -public enum DemoTeam { - Process_Team, - Tools_Team, - SAW_HW, - SAW_Code, - SAW_Test, - SAW_SW_Design, - SAW_Requirements, - SAW_SW, - CIS_SW, - CIS_Code, - CIS_Test, - Facilities_Team -} diff --git a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoUsers.java b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoUsers.java deleted file mode 100644 index bd7c33be0aa..00000000000 --- a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoUsers.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.support.test.util; - -import java.util.Arrays; -import java.util.List; -import org.eclipse.osee.framework.core.data.IUserToken; -import org.eclipse.osee.framework.core.data.TokenFactory; - -/** - * @author Donald G. Dunne - */ -public final class DemoUsers { - - // @formatter:off - public static final IUserToken Joe_Smith = TokenFactory.createUserToken("ABNRvbZxXHICYklfslwA", "Joe Smith", "", "Joe Smith", false, false, false); - public static final IUserToken Kay_Jones = TokenFactory.createUserToken("ABNRvuB8x3VARkkn3YAA", "Kay Jones", "", "Kay Jones", false, false, false); - public static final IUserToken Jason_Michael = TokenFactory.createUserToken("ABNRvuHWtXAdxbG3mUAA", "Jason Michael", "", "Jason Michael", true, false, false); - public static final IUserToken Alex_Kay = TokenFactory.createUserToken("ABNRvuKDIWOcPDe4X0wA", "Alex Kay", "", "Alex Kay", true, false, false); - public static final IUserToken Inactive_Steve = TokenFactory.createUserToken("ABNRvuRG6jKwKnEoX4gA", "Inactive Steve", "", "Inactive Steve", false, false, false); - public static List values = Arrays.asList(Joe_Smith, Kay_Jones, Jason_Michael, Alex_Kay, Inactive_Steve); - // @formatter:on - - private DemoUsers() { - // Constants - } - - public static List values() { - return values; - } - -} diff --git a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoWorkType.java b/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoWorkType.java deleted file mode 100644 index 33203dc6fcd..00000000000 --- a/plugins/org.eclipse.osee.support.test.util/src/org/eclipse/osee/support/test/util/DemoWorkType.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * 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: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.support.test.util; - -/** - * Declares the different work types for Widget_A and Widget_B - * - * @author Donald G. Dunne - */ -public enum DemoWorkType { - Code, - Test, - Requirements, - SW_Design, - All -} -- cgit v1.2.3