Commit e48dace9 authored by Greg Messner's avatar Greg Messner
Browse files

Added tests for impersonation tokens (#91).

parent f4546228
package org.gitlab4j.api;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeTrue;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import org.gitlab4j.api.GitLabApi.ApiVersion;
import org.gitlab4j.api.models.ImpersonationToken;
import org.gitlab4j.api.models.ImpersonationToken.Scope;
import org.gitlab4j.api.models.User;
import org.gitlab4j.api.models.Version;
import org.gitlab4j.api.utils.ISO8601;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
......@@ -40,6 +49,8 @@ public class TestUserApi {
TEST_SUDO_AS_USERNAME = TestUtils.getProperty("TEST_SUDO_AS_USERNAME");
}
private static final String TEST_IMPERSONATION_TOKEN_NAME = "token1";
private static GitLabApi gitLabApi;
public TestUserApi() {
......@@ -128,4 +139,60 @@ public class TestUserApi {
gitLabApi.unsudo();
}
}
@Test
public void testCreateImpersonationToken() throws GitLabApiException, ParseException {
User user = gitLabApi.getUserApi().getCurrentUser();
Scope[] scopes = {Scope.API, Scope.READ_USER};
Date expiresAt = ISO8601.toDate("2018-01-01T00:00:00Z");
ImpersonationToken token = gitLabApi.getUserApi().createImpersonationToken(user.getId(), TEST_IMPERSONATION_TOKEN_NAME, expiresAt, scopes);
assertNotNull(token);
assertNotNull(token.getId());
assertEquals(TEST_IMPERSONATION_TOKEN_NAME, token.getName());
assertEquals(2, token.getScopes().size());
gitLabApi.getUserApi().deleteImpersonationToken(user.getId(), token.getId());
}
@Test
public void testGetImpersonationTokens() throws GitLabApiException, ParseException {
User user = gitLabApi.getUserApi().getCurrentUser();
Scope[] scopes = {Scope.API, Scope.READ_USER};
Date expiresAt = ISO8601.toDate("2018-01-01T00:00:00Z");
ImpersonationToken createdToken = gitLabApi.getUserApi().createImpersonationToken(user.getId(), TEST_IMPERSONATION_TOKEN_NAME, expiresAt, scopes);
assertNotNull(createdToken);
ImpersonationToken token = gitLabApi.getUserApi().getImpersonationToken(user.getId(), createdToken.getId());
assertNotNull(token);
assertEquals(createdToken.getId(), token.getId());
assertEquals(TEST_IMPERSONATION_TOKEN_NAME, token.getName());
assertEquals(createdToken.getExpiresAt(), token.getExpiresAt());
List<ImpersonationToken> tokens = gitLabApi.getUserApi().getImpersonationTokens(user.getId());
assertNotNull(tokens);
assertTrue(tokens.size() > 0);
gitLabApi.getUserApi().deleteImpersonationToken(user.getId(), createdToken.getId());
}
@Test
public void testDeleteImpersonationTokens() throws GitLabApiException, ParseException {
User user = gitLabApi.getUserApi().getCurrentUser();
Scope[] scopes = {Scope.API, Scope.READ_USER};
Date expiresAt = ISO8601.toDate("2018-01-01T00:00:00Z");
ImpersonationToken createdToken = gitLabApi.getUserApi().createImpersonationToken(user.getId(), TEST_IMPERSONATION_TOKEN_NAME, expiresAt, scopes);
assertNotNull(createdToken);
ImpersonationToken token = gitLabApi.getUserApi().getImpersonationToken(user.getId(), createdToken.getId());
assertNotNull(token);
assertEquals(createdToken.getId(), token.getId());
assertTrue(token.getActive());
gitLabApi.getUserApi().deleteImpersonationToken(user.getId(), createdToken.getId());
token = gitLabApi.getUserApi().getImpersonationToken(user.getId(), createdToken.getId());
assertFalse(token.getActive());
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment