2 * Sonar, open source software quality management tool.
3 * Copyright (C) 2009 SonarSource SA
4 * mailto:contact AT sonarsource DOT com
6 * Sonar is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 3 of the License, or (at your option) any later version.
11 * Sonar is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with Sonar; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
20 package org.sonar.updatecenter.common;
22 import static org.hamcrest.MatcherAssert.assertThat;
23 import static org.hamcrest.Matchers.is;
25 import org.junit.Test;
27 public class PluginKeyUtilsTest {
30 public void shouldSanitizeMavenArtifactId() {
31 assertThat(PluginKeyUtils.sanitize("sonar-test-plugin"), is("test"));
32 assertThat(PluginKeyUtils.sanitize("test-sonar-plugin"), is("test"));
33 assertThat(PluginKeyUtils.sanitize("test"), is("test"));
35 assertThat(PluginKeyUtils.sanitize("sonar-test-foo-plugin"), is("testfoo"));
36 assertThat(PluginKeyUtils.sanitize("test-foo-sonar-plugin"), is("testfoo"));
37 assertThat(PluginKeyUtils.sanitize("test-foo"), is("testfoo"));
38 assertThat(PluginKeyUtils.sanitize("keep.only-digits%12345&and*letters"), is("keeponlydigits12345andletters"));
39 assertThat(PluginKeyUtils.sanitize(" remove whitespaces "), is("removewhitespaces"));
43 public void shouldBeValid() {
44 assertThat(PluginKeyUtils.isValid("foo"), is(true));
45 assertThat(PluginKeyUtils.isValid("sonarfooplugin"), is(true));
46 assertThat(PluginKeyUtils.isValid("foo6"), is(true));
47 assertThat(PluginKeyUtils.isValid("FOO6"), is(true));
51 public void shouldNotBeValid() {
52 assertThat(PluginKeyUtils.isValid(null), is(false));
53 assertThat(PluginKeyUtils.isValid(""), is(false));
54 assertThat(PluginKeyUtils.isValid("sonar-foo-plugin"), is(false));
55 assertThat(PluginKeyUtils.isValid("foo.bar"), is(false));
56 assertThat(PluginKeyUtils.isValid(" nowhitespaces "), is(false));
57 assertThat(PluginKeyUtils.isValid("no whitespaces"), is(false));