aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-core')
-rw-r--r--sonar-core/src/test/java/org/sonar/core/components/DefaultUserFinderTest.java63
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/components/DefaultUserFinderTest/fixture.xml6
2 files changed, 69 insertions, 0 deletions
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
index 00000000000..a944e3ae193
--- /dev/null
+++ b/sonar-core/src/test/java/org/sonar/core/components/DefaultUserFinderTest.java
@@ -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
index 00000000000..456f9305802
--- /dev/null
+++ b/sonar-core/src/test/resources/org/sonar/core/components/DefaultUserFinderTest/fixture.xml
@@ -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