package com.sonymobile.jenkins.plugins.gitlab.gitlabauth.security; import com.sonymobile.gitlab.helpers.JsonFileLoader; import com.sonymobile.gitlab.model.GitLabSessionInfo; import org.junit.Before; import org.junit.Test; import static com.sonymobile.gitlab.helpers.JsonFileLoader.jsonFile; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; /** * Tests getting attributes from {@link GitLabUserDetails}. * * @author Emil Nilsson */ public class GitLabUserDetailsTest { /** A normal GitLab user. */ private GitLabUserDetails normalUser; /** An administrator user. */ private GitLabUserDetails adminUser; /** A blocked user. */ private GitLabUserDetails blockedUser; /** * Creates the GitLab normalUser to test. */ @Before public void setUp() throws Exception { JsonFileLoader.ObjectLoader<GitLabSessionInfo> sessionFile = jsonFile("api/v3/session") .withType(GitLabSessionInfo.class); normalUser = new GitLabUserDetails(sessionFile.loadAsObject()); adminUser = new GitLabUserDetails((sessionFile.withVariant("admin").loadAsObject())); blockedUser = new GitLabUserDetails((sessionFile.withVariant("blocked").loadAsObject())); } @Test public void getUsername() { assertThat("username", is(normalUser.getUsername())); } @Test public void getPrivateToken() { assertThat("0123456789abcdef", is(normalUser.getPrivateToken())); } @Test public void getEmail() { assertThat("user@example.com", is(normalUser.getEmail())); } @Test public void getId() { assertThat(2, is(normalUser.getId())); } @Test public void isEnabled() { assertThat(normalUser.isEnabled(), is(true)); assertThat(blockedUser.isEnabled(), is(false)); } }