/*
* Copyright 2016 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.kie.workbench.common.stunner.bpmn.definition.property.task;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import org.junit.Before;
import org.junit.Test;
import org.kie.workbench.common.stunner.bpmn.definition.BPMNDiagramImpl;
import org.kie.workbench.common.stunner.bpmn.definition.property.diagram.DiagramSet;
import org.kie.workbench.common.stunner.bpmn.definition.property.diagram.Id;
import org.kie.workbench.common.stunner.bpmn.definition.property.diagram.Package;
import org.kie.workbench.common.stunner.bpmn.definition.property.diagram.Version;
import org.kie.workbench.common.stunner.bpmn.definition.property.general.Name;
import static org.junit.Assert.*;
public class BPMNDiagramTest {
private Validator validator;
private static final String NAME_VALID = "My New BP";
private static final String NAME_INVALID = "";
private static final String ID_VALID = "Project1.MyNewBP";
private static final String ID_INVALID = "";
private static final String PACKAGE_VALID = "myorg.project1";
private static final String PACKAGE_INVALID = "";
private static final String VERSION_VALID = "1.0";
private static final String VERSION_INVALID = "";
@Before
public void init() {
ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
this.validator = vf.getValidator();
}
public BPMNDiagramImpl createValidBpmnDiagram() {
BPMNDiagramImpl BPMNDiagramImpl = new BPMNDiagramImpl.BPMNDiagramBuilder().build();
DiagramSet diagramSet = BPMNDiagramImpl.getDiagramSet();
diagramSet.setName(new Name(NAME_VALID));
diagramSet.setId(new Id(ID_VALID));
diagramSet.setPackageProperty(new Package(PACKAGE_VALID));
diagramSet.setVersion(new Version(VERSION_VALID));
return BPMNDiagramImpl;
}
@Test
public void testAllValid() {
BPMNDiagramImpl BPMNDiagramImpl = createValidBpmnDiagram();
Set<ConstraintViolation<BPMNDiagramImpl>> violations = this.validator.validate(BPMNDiagramImpl);
assertTrue(violations.isEmpty());
}
@Test
public void testNameInvalid() {
BPMNDiagramImpl BPMNDiagramImpl = createValidBpmnDiagram();
BPMNDiagramImpl.getDiagramSet().setName(new Name(NAME_INVALID));
Set<ConstraintViolation<BPMNDiagramImpl>> violations = this.validator.validate(BPMNDiagramImpl);
assertEquals(1,
violations.size());
}
@Test
public void testIDInvalid() {
BPMNDiagramImpl BPMNDiagramImpl = createValidBpmnDiagram();
BPMNDiagramImpl.getDiagramSet().setId(new Id(ID_INVALID));
Set<ConstraintViolation<BPMNDiagramImpl>> violations = this.validator.validate(BPMNDiagramImpl);
assertEquals(1,
violations.size());
}
@Test
public void testPackageInvalid() {
BPMNDiagramImpl BPMNDiagramImpl = createValidBpmnDiagram();
BPMNDiagramImpl.getDiagramSet().setPackageProperty(new Package(PACKAGE_INVALID));
Set<ConstraintViolation<BPMNDiagramImpl>> violations = this.validator.validate(BPMNDiagramImpl);
assertEquals(1,
violations.size());
}
@Test
public void testVersionInvalid() {
BPMNDiagramImpl BPMNDiagramImpl = createValidBpmnDiagram();
BPMNDiagramImpl.getDiagramSet().setVersion(new Version(VERSION_INVALID));
Set<ConstraintViolation<BPMNDiagramImpl>> violations = this.validator.validate(BPMNDiagramImpl);
assertEquals(1,
violations.size());
}
}