]> source.dussan.org Git - sonarqube.git/commitdiff
Add unit test for UserFinder
authorEvgeny Mandrikov <mandrikov@gmail.com>
Fri, 22 Jul 2011 15:01:35 +0000 (19:01 +0400)
committerEvgeny Mandrikov <mandrikov@gmail.com>
Fri, 22 Jul 2011 15:01:35 +0000 (19:01 +0400)
sonar-core/src/test/java/org/sonar/core/components/DefaultUserFinderTest.java [new file with mode: 0644]
sonar-core/src/test/resources/org/sonar/core/components/DefaultUserFinderTest/fixture.xml [new file with mode: 0644]

diff --git a/sonar-core/src/test/java/org/sonar/core/components/DefaultUserFinderTest.java b/sonar-core/src/test/java/org/sonar/core/components/DefaultUserFinderTest.java
new file mode 100644 (file)
index 0000000..a944e3a
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * Sonar, open source software quality management tool.
+ * Copyright (C) 2008-2011 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * Sonar is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Sonar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Sonar; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
+ */
+package org.sonar.core.components;
+
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.nullValue;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.sonar.api.database.model.User;
+import org.sonar.api.security.UserFinder;
+import org.sonar.jpa.test.AbstractDbUnitTestCase;
+
+public class DefaultUserFinderTest extends AbstractDbUnitTestCase {
+
+  private UserFinder userFinder;
+
+  @Before
+  public void setUp() {
+    setupData("fixture");
+    userFinder = new DefaultUserFinder(getSessionFactory());
+  }
+
+  @Test
+  public void shouldFindUserByLogin() {
+    User user = userFinder.findByLogin("simon");
+    assertThat(user.getId(), is(1));
+    assertThat(user.getLogin(), is("simon"));
+    assertThat(user.getName(), is("Simon Brandhof"));
+    assertThat(user.getEmail(), is("simon.brandhof@sonarsource.com"));
+
+    user = userFinder.findByLogin("godin");
+    assertThat(user.getId(), is(2));
+    assertThat(user.getLogin(), is("godin"));
+    assertThat(user.getName(), is("Evgeny Mandrikov"));
+    assertThat(user.getEmail(), is("evgeny.mandrikov@sonarsource.com"));
+  }
+
+  @Test
+  public void userNotExists() {
+    User user = userFinder.findByLogin("user");
+    assertThat(user, nullValue());
+  }
+
+}
diff --git a/sonar-core/src/test/resources/org/sonar/core/components/DefaultUserFinderTest/fixture.xml b/sonar-core/src/test/resources/org/sonar/core/components/DefaultUserFinderTest/fixture.xml
new file mode 100644 (file)
index 0000000..456f930
--- /dev/null
@@ -0,0 +1,6 @@
+<dataset>
+
+  <users id="1" login="simon" name="Simon Brandhof" email="simon.brandhof@sonarsource.com" />
+  <users id="2" login="godin" name="Evgeny Mandrikov" email="evgeny.mandrikov@sonarsource.com" />
+
+</dataset>
\ No newline at end of file