Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonald.g.dunne2014-08-26 18:51:13 +0000
committerRoberto E. Escobar2014-10-01 21:04:20 +0000
commit8d8f0219c79d9e8f0366c062ed6e0291cd36985c (patch)
tree6dffd5cf43e65af1df79c38cafe8df9f4bddf386 /plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee
parentdfe51d925a9804b57f5ec32664d298f9ad15df92 (diff)
downloadorg.eclipse.osee-8d8f0219c79d9e8f0366c062ed6e0291cd36985c.tar.gz
org.eclipse.osee-8d8f0219c79d9e8f0366c062ed6e0291cd36985c.tar.xz
org.eclipse.osee-8d8f0219c79d9e8f0366c062ed6e0291cd36985c.zip
bug[ats_ATS33276]: Transitioning actions to completed errors on open branch
Diffstat (limited to 'plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee')
-rw-r--r--plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/AllAtsCoreClientTestSuite.java7
-rw-r--r--plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/defect/AtsXDefectValidatorTest.java24
-rw-r--r--plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/review/role/AtsXUserRoleValidatorTest.java21
-rw-r--r--plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/validator/AtsXCommitManagerValidatorTest.java130
-rw-r--r--plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/validator/ValidatorTestSuite.java24
5 files changed, 190 insertions, 16 deletions
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
index cb206e7a856..28d61180917 100644
--- 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
@@ -13,6 +13,7 @@ package org.eclipse.osee.ats.core.client;
import org.eclipse.osee.ats.core.client.internal.config.InternalConfigTestSuite;
import org.eclipse.osee.ats.core.client.internal.store.InternalStoreTestSuite;
import org.eclipse.osee.ats.core.client.review.ReviewTestSuite;
+import org.eclipse.osee.ats.core.client.validator.ValidatorTestSuite;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@@ -20,7 +21,11 @@ import org.junit.runners.Suite;
* @author Donald G. Dunne
*/
@RunWith(Suite.class)
-@Suite.SuiteClasses({InternalConfigTestSuite.class, InternalStoreTestSuite.class, ReviewTestSuite.class})
+@Suite.SuiteClasses({
+ InternalConfigTestSuite.class,
+ InternalStoreTestSuite.class,
+ ReviewTestSuite.class,
+ ValidatorTestSuite.class})
public class AllAtsCoreClientTestSuite {
// Test Suite
}
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 5bd50167b4e..7c934ecdea9 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
@@ -12,7 +12,7 @@ package org.eclipse.osee.ats.core.client.review.defect;
import java.util.Arrays;
import java.util.Date;
-import org.junit.Assert;
+import org.eclipse.osee.ats.api.IAtsServices;
import org.eclipse.osee.ats.api.workdef.StateType;
import org.eclipse.osee.ats.api.workdef.WidgetOption;
import org.eclipse.osee.ats.api.workdef.WidgetResult;
@@ -23,6 +23,7 @@ import org.eclipse.osee.ats.core.client.review.defect.ReviewDefectItem.Severity;
import org.eclipse.osee.ats.mocks.MockStateDefinition;
import org.eclipse.osee.ats.mocks.MockWidgetDefinition;
import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.junit.Assert;
/**
* Test unit for {@link AtsXDefectValidator}
@@ -30,6 +31,7 @@ import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
* @author Donald G. Dunne
*/
public class AtsXDefectValidatorTest {
+ private IAtsServices atsServices;
@org.junit.Test
public void testValidateTransition() throws OseeCoreException {
@@ -45,18 +47,23 @@ public class AtsXDefectValidatorTest {
// Valid for anything not XDefectViewer
WidgetResult result =
- validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef);
+ validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef,
+ atsServices);
ValidatorTestUtil.assertValidResult(result);
widgetDef.setXWidgetName("XDefectViewer");
- result = validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef);
+ result =
+ validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef,
+ atsServices);
ValidatorTestUtil.assertValidResult(result);
widgetDef.getOptions().add(WidgetOption.REQUIRED_FOR_TRANSITION);
// Reviews do not require Defects to be entered, even if required for transition
- result = validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef);
+ result =
+ validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef,
+ atsServices);
Assert.assertEquals(WidgetStatus.Valid, result.getStatus());
}
@@ -76,14 +83,15 @@ public class AtsXDefectValidatorTest {
MockDefectValueProvider itemValueProvider = new MockDefectValueProvider(Arrays.asList(item));
// Valid defect
- WidgetResult result = validator.validateTransition(itemValueProvider, widgetDef, fromStateDef, toStateDef);
+ WidgetResult result =
+ validator.validateTransition(itemValueProvider, widgetDef, fromStateDef, toStateDef, atsServices);
Assert.assertEquals(WidgetStatus.Valid, result.getStatus());
// Invalid Severity
item = getValidItem();
item.setSeverity(Severity.None);
itemValueProvider = new MockDefectValueProvider(Arrays.asList(item));
- result = validator.validateTransition(itemValueProvider, widgetDef, fromStateDef, toStateDef);
+ result = validator.validateTransition(itemValueProvider, widgetDef, fromStateDef, toStateDef, atsServices);
Assert.assertEquals(WidgetStatus.Invalid_Incompleted, result.getStatus());
Assert.assertEquals(ReviewDefectError.AllItemsMustBeMarkedAndClosed.getError(), result.getDetails());
@@ -91,7 +99,7 @@ public class AtsXDefectValidatorTest {
item = getValidItem();
item.setDisposition(Disposition.None);
itemValueProvider = new MockDefectValueProvider(Arrays.asList(item));
- result = validator.validateTransition(itemValueProvider, widgetDef, fromStateDef, toStateDef);
+ result = validator.validateTransition(itemValueProvider, widgetDef, fromStateDef, toStateDef, atsServices);
Assert.assertEquals(WidgetStatus.Invalid_Incompleted, result.getStatus());
Assert.assertEquals(ReviewDefectError.AllItemsMustBeMarkedAndClosed.getError(), result.getDetails());
@@ -99,7 +107,7 @@ public class AtsXDefectValidatorTest {
item = getValidItem();
item.setClosed(false);
itemValueProvider = new MockDefectValueProvider(Arrays.asList(item));
- result = validator.validateTransition(itemValueProvider, widgetDef, fromStateDef, toStateDef);
+ result = validator.validateTransition(itemValueProvider, widgetDef, fromStateDef, toStateDef, atsServices);
Assert.assertEquals(WidgetStatus.Invalid_Incompleted, result.getStatus());
Assert.assertEquals(ReviewDefectError.AllItemsMustBeMarkedAndClosed.getError(), 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 5308dd161eb..cff3480729e 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
@@ -12,7 +12,7 @@ package org.eclipse.osee.ats.core.client.review.role;
import java.util.Arrays;
import java.util.List;
-import org.junit.Assert;
+import org.eclipse.osee.ats.api.IAtsServices;
import org.eclipse.osee.ats.api.review.Role;
import org.eclipse.osee.ats.api.review.UserRole;
import org.eclipse.osee.ats.api.workdef.StateType;
@@ -23,11 +23,13 @@ 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.jdk.core.type.OseeCoreException;
+import org.junit.Assert;
/**
* @author Donald G. Dunne
*/
public class AtsXUserRoleValidatorTest {
+ private IAtsServices atsServices;
@org.junit.Test
public void testValidateTransition() throws OseeCoreException {
@@ -43,20 +45,25 @@ public class AtsXUserRoleValidatorTest {
// Valid for anything not XIntegerDam
WidgetResult result =
- validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef);
+ validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef,
+ atsServices);
ValidatorTestUtil.assertValidResult(result);
widgetDef.setXWidgetName("XUserRoleViewer");
// Not valid to have no roles
- result = validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef);
+ result =
+ validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef,
+ atsServices);
Assert.assertEquals(WidgetStatus.Invalid_Incompleted, result.getStatus());
Assert.assertEquals(UserRoleError.OneRoleEntryRequired.getError(), result.getDetails());
widgetDef.getOptions().add(WidgetOption.REQUIRED_FOR_TRANSITION);
// Not valid to have no roles
- result = validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef);
+ result =
+ validator.validateTransition(ValidatorTestUtil.emptyValueProvider, widgetDef, fromStateDef, toStateDef,
+ atsServices);
Assert.assertEquals(WidgetStatus.Invalid_Incompleted, result.getStatus());
Assert.assertEquals(UserRoleError.OneRoleEntryRequired.getError(), result.getDetails());
}
@@ -80,20 +87,20 @@ public class AtsXUserRoleValidatorTest {
MockUserRoleValueProvider provider = new MockUserRoleValueProvider(roles);
// Valid Roles
- WidgetResult result = validator.validateTransition(provider, widgetDef, fromStateDef, toStateDef);
+ WidgetResult result = validator.validateTransition(provider, widgetDef, fromStateDef, toStateDef, atsServices);
ValidatorTestUtil.assertValidResult(result);
// Not valid to have no author
roles = Arrays.asList(reviewer);
provider = new MockUserRoleValueProvider(roles);
- result = validator.validateTransition(provider, widgetDef, fromStateDef, toStateDef);
+ result = validator.validateTransition(provider, widgetDef, fromStateDef, toStateDef, atsServices);
Assert.assertEquals(WidgetStatus.Invalid_Incompleted, result.getStatus());
Assert.assertEquals(UserRoleError.MustHaveAtLeastOneAuthor.getError(), result.getDetails());
// Not valid to have no reviewer
roles = Arrays.asList(author);
provider = new MockUserRoleValueProvider(roles);
- result = validator.validateTransition(provider, widgetDef, fromStateDef, toStateDef);
+ result = validator.validateTransition(provider, widgetDef, fromStateDef, toStateDef, atsServices);
Assert.assertEquals(WidgetStatus.Invalid_Incompleted, result.getStatus());
Assert.assertEquals(UserRoleError.MustHaveAtLeastOneReviewer.getError(), result.getDetails());
diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/validator/AtsXCommitManagerValidatorTest.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/validator/AtsXCommitManagerValidatorTest.java
new file mode 100644
index 00000000000..c222341e7aa
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/validator/AtsXCommitManagerValidatorTest.java
@@ -0,0 +1,130 @@
+/*******************************************************************************
+ * Copyright (c) 2014 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.validator;
+
+import static org.mockito.Mockito.when;
+import org.eclipse.osee.ats.api.workdef.IAtsWidgetDefinition;
+import org.eclipse.osee.ats.api.workdef.RuleDefinitionOption;
+import org.eclipse.osee.ats.api.workdef.WidgetResult;
+import org.eclipse.osee.ats.core.validator.IValueProvider;
+import org.eclipse.osee.ats.mocks.AtsMockitoTest;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class AtsXCommitManagerValidatorTest extends AtsMockitoTest {
+
+ public AtsXCommitManagerValidatorTest() {
+ super("AtsXCommitManagerValidatorTest");
+ }
+
+ // @formatter:off
+ @Mock IAtsWidgetDefinition widgetDef;
+ @Mock IAtsWidgetDefinition notXCommitManagerWidget;
+ @Mock ArtifactValueProvider provider;
+ @Mock IValueProvider notArtifactValueProvider;
+ // @formatter:on
+
+ @Override
+ @Before
+ public void setup() throws OseeCoreException {
+ super.setup();
+
+ when(widgetDef.getXWidgetName()).thenReturn("XCommitManager");
+ when(widgetDef.getName()).thenReturn("Commit Manager");
+ when(implement.hasRule(RuleDefinitionOption.AllowTransitionWithWorkingBranch.name())).thenReturn(false);
+ }
+
+ @Test
+ public void testValidateTransition_notCommitManager() {
+ AtsXCommitManagerValidator validator = new AtsXCommitManagerValidator();
+
+ WidgetResult result = validator.validateTransition(null, notXCommitManagerWidget, null, null, null);
+ Assert.assertEquals(WidgetResult.Valid, result);
+
+ result = validator.validateTransition(notArtifactValueProvider, widgetDef, null, null, atsServices);
+ Assert.assertEquals(WidgetResult.Valid, result);
+
+ when(provider.getObject()).thenReturn(task1);
+ result = validator.validateTransition(provider, widgetDef, null, null, atsServices);
+ Assert.assertEquals(WidgetResult.Valid, result);
+
+ }
+
+ @Test
+ public void testValidateTransition_noChangesToCommit() {
+ AtsXCommitManagerValidator validator = new AtsXCommitManagerValidator();
+
+ when(provider.getObject()).thenReturn(teamWf);
+ when(branchService.isWorkingBranchInWork(teamWf)).thenReturn(false);
+ when(branchService.isCommittedBranchExists(teamWf)).thenReturn(false);
+ WidgetResult result = validator.validateTransition(provider, widgetDef, analyze, implement, atsServices);
+ Assert.assertEquals(WidgetResult.Valid, result);
+ }
+
+ @Test
+ public void testValidateTransition_changesToCommit() {
+ AtsXCommitManagerValidator validator = new AtsXCommitManagerValidator();
+
+ when(provider.getObject()).thenReturn(teamWf);
+ when(branchService.isWorkingBranchInWork(teamWf)).thenReturn(true);
+ when(branchService.isCommittedBranchExists(teamWf)).thenReturn(false);
+ when(branchService.isAllObjectsToCommitToConfigured(teamWf)).thenReturn(true);
+ WidgetResult result = validator.validateTransition(provider, widgetDef, analyze, implement, atsServices);
+ Assert.assertEquals(AtsXCommitManagerValidator.ALL_BRANCHES_MUST_BE_COMMITTED, result.getDetails());
+
+ when(provider.getObject()).thenReturn(teamWf);
+ when(branchService.isWorkingBranchInWork(teamWf)).thenReturn(false);
+ when(branchService.isCommittedBranchExists(teamWf)).thenReturn(true);
+ when(branchService.isAllObjectsToCommitToConfigured(teamWf)).thenReturn(true);
+ result = validator.validateTransition(provider, widgetDef, analyze, implement, atsServices);
+ Assert.assertEquals(AtsXCommitManagerValidator.ALL_BRANCHES_MUST_BE_COMMITTED, result.getDetails());
+ }
+
+ @Test
+ public void testValidateTransition_transitionToWithWorkingBranchRuleExists() {
+ AtsXCommitManagerValidator validator = new AtsXCommitManagerValidator();
+
+ when(provider.getObject()).thenReturn(teamWf);
+ when(branchService.isWorkingBranchInWork(teamWf)).thenReturn(true);
+ when(branchService.isCommittedBranchExists(teamWf)).thenReturn(false);
+ when(branchService.isAllObjectsToCommitToConfigured(teamWf)).thenReturn(true);
+ when(implement.hasRule(RuleDefinitionOption.AllowTransitionWithWorkingBranch.name())).thenReturn(true);
+ WidgetResult result = validator.validateTransition(provider, widgetDef, analyze, implement, atsServices);
+ Assert.assertEquals(WidgetResult.Valid, result);
+ }
+
+ @Test
+ public void testValidateTransition_branchesMustBeConfigured() {
+
+ AtsXCommitManagerValidator validator = new AtsXCommitManagerValidator();
+ when(provider.getObject()).thenReturn(teamWf);
+ when(branchService.isWorkingBranchInWork(teamWf)).thenReturn(true);
+ when(branchService.isCommittedBranchExists(teamWf)).thenReturn(false);
+ when(branchService.isAllObjectsToCommitToConfigured(teamWf)).thenReturn(true);
+ when(implement.hasRule(RuleDefinitionOption.AllowTransitionWithWorkingBranch.name())).thenReturn(false);
+
+ when(branchService.isBranchesAllCommitted(teamWf)).thenReturn(true);
+ WidgetResult result = validator.validateTransition(provider, widgetDef, analyze, implement, atsServices);
+ Assert.assertEquals(WidgetResult.Valid, result);
+
+ when(branchService.isBranchesAllCommitted(teamWf)).thenReturn(false);
+ result = validator.validateTransition(provider, widgetDef, analyze, implement, atsServices);
+ Assert.assertEquals(AtsXCommitManagerValidator.ALL_BRANCHES_MUST_BE_COMMITTED, result.getDetails());
+
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/validator/ValidatorTestSuite.java b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/validator/ValidatorTestSuite.java
new file mode 100644
index 00000000000..89fdfca6430
--- /dev/null
+++ b/plugins/org.eclipse.osee.ats.core.client.test/src/org/eclipse/osee/ats/core/client/validator/ValidatorTestSuite.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.core.client.validator;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({AtsXCommitManagerValidatorTest.class})
+/**
+ *
+ * @author Donald G. Dunne
+ */
+public class ValidatorTestSuite {
+ // TestSuite
+}

Back to the top