Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
佳 邓
Gitlab4j Api
Commits
a28e1d88
Commit
a28e1d88
authored
Mar 03, 2019
by
Greg Messner
Browse files
Added method to upload user avatar (#314).
parent
251de6b8
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/main/java/org/gitlab4j/api/UserApi.java
View file @
a28e1d88
...
@@ -3,6 +3,7 @@ package org.gitlab4j.api;
...
@@ -3,6 +3,7 @@ package org.gitlab4j.api;
import
org.gitlab4j.api.GitLabApi.ApiVersion
;
import
org.gitlab4j.api.GitLabApi.ApiVersion
;
import
org.gitlab4j.api.models.CustomAttribute
;
import
org.gitlab4j.api.models.CustomAttribute
;
import
org.gitlab4j.api.models.ImpersonationToken
;
import
org.gitlab4j.api.models.ImpersonationToken
;
import
org.gitlab4j.api.models.Project
;
import
org.gitlab4j.api.models.ImpersonationToken.Scope
;
import
org.gitlab4j.api.models.ImpersonationToken.Scope
;
import
org.gitlab4j.api.models.SshKey
;
import
org.gitlab4j.api.models.SshKey
;
import
org.gitlab4j.api.models.User
;
import
org.gitlab4j.api.models.User
;
...
@@ -10,6 +11,8 @@ import org.gitlab4j.api.models.User;
...
@@ -10,6 +11,8 @@ import org.gitlab4j.api.models.User;
import
javax.ws.rs.core.Form
;
import
javax.ws.rs.core.Form
;
import
javax.ws.rs.core.GenericType
;
import
javax.ws.rs.core.GenericType
;
import
javax.ws.rs.core.Response
;
import
javax.ws.rs.core.Response
;
import
java.io.File
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
...
@@ -995,4 +998,19 @@ public class UserApi extends AbstractApi {
...
@@ -995,4 +998,19 @@ public class UserApi extends AbstractApi {
GitLabApiForm
formData
=
new
GitLabApiForm
();
GitLabApiForm
formData
=
new
GitLabApiForm
();
return
(
customAttributesEnabled
?
formData
.
withParam
(
"with_custom_attributes"
,
true
)
:
formData
);
return
(
customAttributesEnabled
?
formData
.
withParam
(
"with_custom_attributes"
,
true
)
:
formData
);
}
}
/**
* Uploads and sets the user's avatar for the specified user.
*
* <pre><code>PUT /users/:id</code></pre>
*
* @param userIdOrUsername the user in the form of an Integer(ID), String(username), or User instance
* @param avatarFile the File instance of the avatar file to upload
* @return the updated User instance
* @throws GitLabApiException if any exception occurs
*/
public
User
setUserAvatar
(
final
Object
userIdOrUsername
,
File
avatarFile
)
throws
GitLabApiException
{
Response
response
=
putUpload
(
Response
.
Status
.
OK
,
"avatar"
,
avatarFile
,
"users"
,
getUserIdOrUsername
(
userIdOrUsername
));
return
(
response
.
readEntity
(
User
.
class
));
}
}
}
src/test/java/org/gitlab4j/api/TestAvatarUpload.java
View file @
a28e1d88
...
@@ -9,6 +9,7 @@ import java.util.Map;
...
@@ -9,6 +9,7 @@ import java.util.Map;
import
org.gitlab4j.api.GitLabApi.ApiVersion
;
import
org.gitlab4j.api.GitLabApi.ApiVersion
;
import
org.gitlab4j.api.models.Project
;
import
org.gitlab4j.api.models.Project
;
import
org.gitlab4j.api.models.User
;
import
org.junit.Before
;
import
org.junit.Before
;
import
org.junit.BeforeClass
;
import
org.junit.BeforeClass
;
import
org.junit.FixMethodOrder
;
import
org.junit.FixMethodOrder
;
...
@@ -45,7 +46,8 @@ public class TestAvatarUpload {
...
@@ -45,7 +46,8 @@ public class TestAvatarUpload {
TEST_PROXY_USERNAME
=
TestUtils
.
getProperty
(
"TEST_PROXY_USERNAME"
);
TEST_PROXY_USERNAME
=
TestUtils
.
getProperty
(
"TEST_PROXY_USERNAME"
);
TEST_PROXY_PASSWORD
=
TestUtils
.
getProperty
(
"TEST_PROXY_PASSWORD"
);
TEST_PROXY_PASSWORD
=
TestUtils
.
getProperty
(
"TEST_PROXY_PASSWORD"
);
}
}
private
static
final
String
AVATAR_FILENAME
=
"avatar.png"
;
private
static
final
String
AVATAR_FILENAME
=
"avatar.png"
;
private
static
GitLabApi
gitLabApi
;
private
static
GitLabApi
gitLabApi
;
...
@@ -116,4 +118,16 @@ public class TestAvatarUpload {
...
@@ -116,4 +118,16 @@ public class TestAvatarUpload {
assertNotNull
(
updatedProject
);
assertNotNull
(
updatedProject
);
assertTrue
(
updatedProject
.
getAvatarUrl
().
endsWith
(
AVATAR_FILENAME
));
assertTrue
(
updatedProject
.
getAvatarUrl
().
endsWith
(
AVATAR_FILENAME
));
}
}
@Test
public
void
testSetUserAvatar
()
throws
GitLabApiException
{
User
user
=
gitLabApi
.
getUserApi
().
getCurrentUser
();
assertNotNull
(
user
);
File
avatarFile
=
new
File
(
"src/test/resources/org/gitlab4j/api"
,
AVATAR_FILENAME
);
User
updatedUser
=
gitLabApi
.
getUserApi
().
setUserAvatar
(
user
,
avatarFile
);
assertNotNull
(
updatedUser
);
assertTrue
(
updatedUser
.
getAvatarUrl
().
endsWith
(
AVATAR_FILENAME
));
}
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment