view com.redhat.thermostat.tools.eclipse.plugin.tests/src/com/redhat/thermostat/tools/eclipse/plugin/tests/ValidatorsTest.java @ 127:f64440e971ac

Validate thermostat versions in project wizard
author Omair Majid <omajid@redhat.com>
date Fri, 28 Mar 2014 12:52:27 -0400
parents a0c68ec37305
children
line wrap: on
line source

package com.redhat.thermostat.tools.eclipse.plugin.tests;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.eclipse.core.databinding.validation.IValidator;
import org.eclipse.core.runtime.IStatus;
import org.junit.Test;

import com.redhat.thermostat.tools.eclipse.plugin.Validators;

public class ValidatorsTest {

    @Test
    public void testNonEmptyStringRequiredFailsOnEmptyString() {
        IValidator validator = new Validators.NonEmptyStringRequired("");
        IStatus result = validator.validate("");
        assertFalse(result.isOK());
    }

    @Test
    public void testNonEmptyStringRequiredPassesOnNonEmptyString() {
        IValidator validator = new Validators.NonEmptyStringRequired("");
        IStatus result = validator.validate("foo");
        assertTrue(result.isOK());
    }

    @Test
    public void testPackageNameRequiredFailsOnEmptyString() {
        IValidator validator = new Validators.NonEmptyStringRequired("");
        IStatus result = validator.validate("");
        assertFalse(result.isOK());
    }

    @Test
    public void testPackageNameRequiredFailsOnSpaces() {
        IValidator validator = new Validators.PackageNameRequired();
        IStatus result = validator.validate("a b");
        assertFalse(result.isOK());
    }

    @Test
    public void testPackageNameRequiredPassesOnValidPackageName() {
        IValidator validator = new Validators.PackageNameRequired();
        IStatus result;

        result = validator.validate("a");
        assertTrue(result.isOK());

        result = validator.validate("a.b");
        assertTrue(result.isOK());

        result = validator.validate("a.b.c");
        assertTrue(result.isOK());
    }

    @Test
    public void testValidIdRequiredFailsOnEmptyGroupId() {
        IValidator validator = new Validators.ValidIdRequired("Group Id");
        IStatus result = validator.validate("");
        assertFalse(result.isOK());
    }

    @Test
    public void testValidIdRequiredPassesOnValidGroupId() {
        IValidator validator = new Validators.ValidIdRequired("Group Id");
        IStatus result;

        result = validator.validate("a");
        assertTrue(result.isOK());

        result = validator.validate("a-b");
        assertTrue(result.isOK());

        result = validator.validate("a-b-c");
        assertTrue(result.isOK());
    }

    @Test
    public void testVersionRequiredFailsOnEmptyInput() {
        IValidator validator = new Validators.VersionRequired("");
        IStatus result = validator.validate("");
        assertFalse(result.isOK());
    }

    @Test
    public void testVersionRequiredFailsOnText() {
        IValidator validator = new Validators.VersionRequired("");
        IStatus result = validator.validate("abc");
        assertFalse(result.isOK());
    }

    @Test
    public void testVersionRequiredFailsOnLeadingOrTrailingDots() {
        IValidator validator = new Validators.VersionRequired("");
        IStatus result;

        result = validator.validate(".1");
        assertFalse(result.isOK());

        result = validator.validate("1.");
        assertFalse(result.isOK());

        result = validator.validate("1.2.");
        assertFalse(result.isOK());
    }

    @Test
    public void testVersionRequiredPassesOnMajorDotMinorVersion() {
        IValidator validator = new Validators.VersionRequired("");
        IStatus result;

        result = validator.validate("0.1");
        assertTrue(result.isOK());

        result = validator.validate("1.2");
        assertTrue(result.isOK());

        result = validator.validate("222222.123");
        assertTrue(result.isOK());
    }

    @Test
    public void testVersionRequiredPassesOnMajorDotMinorDotMicroVersion() {
        IValidator validator = new Validators.VersionRequired("");
        IStatus result;

        result = validator.validate("1.0.0");
        assertTrue(result.isOK());

        result = validator.validate("1.0.2");
        assertTrue(result.isOK());

        result = validator.validate("1.0.2");
        assertTrue(result.isOK());
    }

    @Test
    public void testVersionRequiredPassesOnMajorDotMinorDotMicroWithQualifierSuffix() {
        IValidator validator = new Validators.VersionRequired("");
        IStatus result;

        result = validator.validate("1.0.0.qualifier");
        assertTrue(result.isOK());

        result = validator.validate("1.0.0.SNAPSHOT");
        assertTrue(result.isOK());

        result = validator.validate("1.0.2-suffix");
        assertTrue(result.isOK());

        result = validator.validate("1.0.2-SNAPSHOT");
        assertTrue(result.isOK());
    }

}