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
53aefeb6
Commit
53aefeb6
authored
Dec 29, 2019
by
Greg Messner
Browse files
Fixed milestones type in ReleaseParams (#489).
parent
c0637dd7
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/main/java/org/gitlab4j/api/ReleasesApi.java
View file @
53aefeb6
...
@@ -127,7 +127,7 @@ public class ReleasesApi extends AbstractApi {
...
@@ -127,7 +127,7 @@ public class ReleasesApi extends AbstractApi {
}
}
Response
response
=
put
(
Response
.
Status
.
OK
,
params
,
Response
response
=
put
(
Response
.
Status
.
OK
,
params
,
"projects"
,
getProjectIdOrPath
(
projectIdOrPath
),
"releases"
,
tagName
);
"projects"
,
getProjectIdOrPath
(
projectIdOrPath
),
"releases"
,
urlEncode
(
tagName
)
)
;
return
(
response
.
readEntity
(
Release
.
class
));
return
(
response
.
readEntity
(
Release
.
class
));
}
}
...
@@ -141,6 +141,6 @@ public class ReleasesApi extends AbstractApi {
...
@@ -141,6 +141,6 @@ public class ReleasesApi extends AbstractApi {
* @throws GitLabApiException if any exception occurs
* @throws GitLabApiException if any exception occurs
*/
*/
public
void
deleteRelease
(
Object
projectIdOrPath
,
String
tagName
)
throws
GitLabApiException
{
public
void
deleteRelease
(
Object
projectIdOrPath
,
String
tagName
)
throws
GitLabApiException
{
delete
(
Response
.
Status
.
OK
,
null
,
"projects"
,
getProjectIdOrPath
(
projectIdOrPath
),
"releases"
,
tagName
);
delete
(
Response
.
Status
.
OK
,
null
,
"projects"
,
getProjectIdOrPath
(
projectIdOrPath
),
"releases"
,
urlEncode
(
tagName
)
)
;
}
}
}
}
src/main/java/org/gitlab4j/api/models/ReleaseParams.java
View file @
53aefeb6
...
@@ -11,7 +11,7 @@ public class ReleaseParams {
...
@@ -11,7 +11,7 @@ public class ReleaseParams {
private
String
tagName
;
private
String
tagName
;
private
String
description
;
private
String
description
;
private
String
ref
;
private
String
ref
;
private
List
<
Milestone
>
milestones
;
private
List
<
String
>
milestones
;
private
Assets
assets
;
private
Assets
assets
;
private
Date
releasedAt
;
private
Date
releasedAt
;
...
@@ -54,15 +54,15 @@ public class ReleaseParams {
...
@@ -54,15 +54,15 @@ public class ReleaseParams {
return
(
this
);
return
(
this
);
}
}
public
List
<
Milestone
>
getMilestones
()
{
public
List
<
String
>
getMilestones
()
{
return
milestones
;
return
milestones
;
}
}
public
void
setMilestones
(
List
<
Milestone
>
milestones
)
{
public
void
setMilestones
(
List
<
String
>
milestones
)
{
this
.
milestones
=
milestones
;
this
.
milestones
=
milestones
;
}
}
public
ReleaseParams
withMilestones
(
List
<
Milestone
>
milestones
)
{
public
ReleaseParams
withMilestones
(
List
<
String
>
milestones
)
{
this
.
milestones
=
milestones
;
this
.
milestones
=
milestones
;
return
(
this
);
return
(
this
);
}
}
...
...
src/test/java/org/gitlab4j/api/TestReleasesApi.java
View file @
53aefeb6
...
@@ -6,9 +6,12 @@ import static org.junit.Assert.assertNotNull;
...
@@ -6,9 +6,12 @@ import static org.junit.Assert.assertNotNull;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
junit
.
Assume
.
assumeTrue
;
import
static
org
.
junit
.
Assume
.
assumeTrue
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.Optional
;
import
org.gitlab4j.api.models.Milestone
;
import
org.gitlab4j.api.models.Project
;
import
org.gitlab4j.api.models.Project
;
import
org.gitlab4j.api.models.Release
;
import
org.gitlab4j.api.models.Release
;
import
org.gitlab4j.api.models.ReleaseParams
;
import
org.gitlab4j.api.models.ReleaseParams
;
...
@@ -21,10 +24,11 @@ import org.junit.experimental.categories.Category;
...
@@ -21,10 +24,11 @@ import org.junit.experimental.categories.Category;
@Category
(
IntegrationTest
.
class
)
@Category
(
IntegrationTest
.
class
)
public
class
TestReleasesApi
extends
AbstractIntegrationTest
{
public
class
TestReleasesApi
extends
AbstractIntegrationTest
{
private
static
final
String
TEST_TAG_NAME
=
"test-release
-tag
"
;
private
static
final
String
TEST_TAG_NAME
=
"test-release
/1.0.0
"
;
private
static
final
String
TEST_RELEASE_NAME
=
"Test Release"
;
private
static
final
String
TEST_RELEASE_NAME
=
"Test Release"
;
private
static
final
String
TEST_RELEASE_DESCRIPTION
=
"Test releases API release."
;
private
static
final
String
TEST_RELEASE_DESCRIPTION
=
"Test releases API release."
;
private
static
final
String
TEST_UPDATED_RELEASE_DESCRIPTION
=
"UPDATED: Test releases API release."
;
private
static
final
String
TEST_UPDATED_RELEASE_DESCRIPTION
=
"UPDATED: Test releases API release."
;
private
static
final
String
TEST_MILESTONE_TITLE
=
"Test Release 1.0.0 Milestone"
;
private
static
GitLabApi
gitLabApi
;
private
static
GitLabApi
gitLabApi
;
private
static
Project
testProject
;
private
static
Project
testProject
;
...
@@ -45,7 +49,7 @@ public class TestReleasesApi extends AbstractIntegrationTest {
...
@@ -45,7 +49,7 @@ public class TestReleasesApi extends AbstractIntegrationTest {
@AfterClass
@AfterClass
public
static
void
tearDown
()
{
public
static
void
tearDown
()
{
deleteTestResources
();
deleteTestResources
();
}
}
private
static
final
void
deleteTestResources
()
{
private
static
final
void
deleteTestResources
()
{
...
@@ -58,6 +62,15 @@ public class TestReleasesApi extends AbstractIntegrationTest {
...
@@ -58,6 +62,15 @@ public class TestReleasesApi extends AbstractIntegrationTest {
try
{
try
{
gitLabApi
.
getTagsApi
().
deleteTag
(
testProject
,
TEST_TAG_NAME
);
gitLabApi
.
getTagsApi
().
deleteTag
(
testProject
,
TEST_TAG_NAME
);
}
catch
(
Exception
ignore
)
{}
}
catch
(
Exception
ignore
)
{}
try
{
List
<
Milestone
>
milestones
=
gitLabApi
.
getMilestonesApi
().
getMilestones
(
testProject
);
Optional
<
Milestone
>
testMilestone
=
milestones
.
stream
().
filter
(
m
->
m
.
getTitle
().
equals
(
TEST_MILESTONE_TITLE
)).
findFirst
();
if
(
testMilestone
.
isPresent
())
{
gitLabApi
.
getMilestonesApi
().
deleteMilestone
(
testProject
,
testMilestone
.
get
().
getId
());
}
}
catch
(
Exception
ignore
)
{}
}
}
}
}
...
@@ -69,61 +82,96 @@ public class TestReleasesApi extends AbstractIntegrationTest {
...
@@ -69,61 +82,96 @@ public class TestReleasesApi extends AbstractIntegrationTest {
@Test
@Test
public
void
testCreateAndDeleteRelease
()
throws
GitLabApiException
{
public
void
testCreateAndDeleteRelease
()
throws
GitLabApiException
{
ReleaseParams
params
=
new
ReleaseParams
()
Milestone
testMilestone
=
gitLabApi
.
getMilestonesApi
().
createMilestone
(
testProject
,
TEST_MILESTONE_TITLE
,
null
,
null
,
null
);
.
withName
(
TEST_RELEASE_NAME
)
assertNotNull
(
testMilestone
);
.
withTagName
(
TEST_TAG_NAME
)
.
withDescription
(
TEST_RELEASE_DESCRIPTION
)
.
withRef
(
"master"
);
Release
testRelease
=
gitLabApi
.
getReleasesApi
().
createRelease
(
testProject
,
params
);
assertNotNull
(
testRelease
);
assertEquals
(
TEST_RELEASE_NAME
,
testRelease
.
getName
());
assertEquals
(
TEST_TAG_NAME
,
testRelease
.
getTagName
());
List
<
Release
>
releases
=
gitLabApi
.
getReleasesApi
().
getReleases
(
testProject
);
try
{
assertTrue
(
releases
.
stream
().
map
(
Release:
:
getTagName
).
anyMatch
(
s
->
TEST_TAG_NAME
.
equals
(
s
)));
gitLabApi
.
getReleasesApi
().
deleteRelease
(
testProject
,
TEST_TAG_NAME
);
ReleaseParams
params
=
new
ReleaseParams
()
Optional
<
Release
>
release
=
gitLabApi
.
getReleasesApi
().
getOptionalRelease
(
testProject
,
TEST_TAG_NAME
);
.
withName
(
TEST_RELEASE_NAME
)
assertFalse
(
release
.
isPresent
());
.
withTagName
(
TEST_TAG_NAME
)
.
withDescription
(
TEST_RELEASE_DESCRIPTION
)
.
withRef
(
"master"
)
.
withMilestones
(
Collections
.
singletonList
(
TEST_MILESTONE_TITLE
));
Release
testRelease
=
gitLabApi
.
getReleasesApi
().
createRelease
(
testProject
,
params
);
assertNotNull
(
testRelease
);
assertEquals
(
TEST_RELEASE_NAME
,
testRelease
.
getName
());
assertEquals
(
TEST_TAG_NAME
,
testRelease
.
getTagName
());
assertTrue
(
testRelease
.
getMilestones
().
stream
().
map
(
Milestone:
:
getId
)
.
anyMatch
(
id
->
id
.
equals
(
testMilestone
.
getId
())));
List
<
Release
>
releases
=
gitLabApi
.
getReleasesApi
().
getReleases
(
testProject
);
assertTrue
(
releases
.
stream
().
map
(
Release:
:
getTagName
).
anyMatch
(
s
->
TEST_TAG_NAME
.
equals
(
s
)));
releases
=
gitLabApi
.
getReleasesApi
().
getReleases
(
testProject
);
gitLabApi
.
getReleasesApi
().
deleteRelease
(
testProject
,
TEST_TAG_NAME
);
assertFalse
(
releases
.
stream
().
map
(
Release:
:
getTagName
).
anyMatch
(
s
->
TEST_TAG_NAME
.
equals
(
s
)));
Optional
<
Release
>
release
=
gitLabApi
.
getReleasesApi
().
getOptionalRelease
(
testProject
,
TEST_TAG_NAME
);
assertFalse
(
release
.
isPresent
());
releases
=
gitLabApi
.
getReleasesApi
().
getReleases
(
testProject
);
assertFalse
(
releases
.
stream
().
map
(
Release:
:
getTagName
).
anyMatch
(
s
->
TEST_TAG_NAME
.
equals
(
s
)));
}
finally
{
try
{
gitLabApi
.
getMilestonesApi
().
deleteMilestone
(
testProject
,
testMilestone
.
getId
());
}
catch
(
Exception
ignore
)
{}
}
}
}
@Test
@Test
public
void
testCreateAndUpdateRelease
()
throws
GitLabApiException
{
public
void
testCreateAndUpdateRelease
()
throws
GitLabApiException
{
ReleaseParams
params
=
new
ReleaseParams
()
ReleaseParams
params
=
new
ReleaseParams
()
.
withName
(
TEST_RELEASE_NAME
)
.
withName
(
TEST_RELEASE_NAME
)
.
withTagName
(
TEST_TAG_NAME
)
.
withTagName
(
TEST_TAG_NAME
)
.
withDescription
(
TEST_RELEASE_DESCRIPTION
)
.
withDescription
(
TEST_RELEASE_DESCRIPTION
)
.
withRef
(
"master"
);
.
withRef
(
"master"
);
Release
testRelease
=
gitLabApi
.
getReleasesApi
().
createRelease
(
testProject
,
params
);
Release
testRelease
=
gitLabApi
.
getReleasesApi
().
createRelease
(
testProject
,
params
);
assertNotNull
(
testRelease
);
assertNotNull
(
testRelease
);
assertEquals
(
TEST_RELEASE_NAME
,
testRelease
.
getName
());
assertEquals
(
TEST_RELEASE_NAME
,
testRelease
.
getName
());
assertEquals
(
TEST_TAG_NAME
,
testRelease
.
getTagName
());
assertEquals
(
TEST_TAG_NAME
,
testRelease
.
getTagName
());
assertTrue
(
testRelease
.
getMilestones
()
==
null
||
testRelease
.
getMilestones
().
isEmpty
());
Optional
<
Release
>
release
=
gitLabApi
.
getReleasesApi
().
getOptionalRelease
(
testProject
,
TEST_TAG_NAME
);
Optional
<
Release
>
release
=
gitLabApi
.
getReleasesApi
().
getOptionalRelease
(
testProject
,
TEST_TAG_NAME
);
assertTrue
(
release
.
isPresent
());
assertTrue
(
release
.
isPresent
());
params
=
new
ReleaseParams
()
Milestone
testMilestone
=
gitLabApi
.
getMilestonesApi
().
createMilestone
(
testProject
,
TEST_MILESTONE_TITLE
,
null
,
null
,
null
);
.
withTagName
(
TEST_TAG_NAME
)
assertNotNull
(
testMilestone
);
.
withDescription
(
TEST_UPDATED_RELEASE_DESCRIPTION
);
testRelease
=
gitLabApi
.
getReleasesApi
().
updateRelease
(
testProject
,
params
);
try
{
assertNotNull
(
testRelease
);
assertEquals
(
TEST_RELEASE_NAME
,
testRelease
.
getName
());
Date
releasedAt
=
new
Date
();
assertEquals
(
TEST_TAG_NAME
,
testRelease
.
getTagName
());
params
=
new
ReleaseParams
()
assertEquals
(
TEST_UPDATED_RELEASE_DESCRIPTION
,
testRelease
.
getDescription
());
.
withTagName
(
TEST_TAG_NAME
)
.
withDescription
(
TEST_UPDATED_RELEASE_DESCRIPTION
)
release
=
gitLabApi
.
getReleasesApi
().
getOptionalRelease
(
testProject
,
TEST_TAG_NAME
);
.
withReleasedAt
(
releasedAt
)
assertTrue
(
release
.
isPresent
());
.
withMilestones
(
Collections
.
singletonList
(
TEST_MILESTONE_TITLE
));
testRelease
=
release
.
get
();
testRelease
=
gitLabApi
.
getReleasesApi
().
updateRelease
(
testProject
,
params
);
assertEquals
(
TEST_RELEASE_NAME
,
testRelease
.
getName
());
assertNotNull
(
testRelease
);
assertEquals
(
TEST_TAG_NAME
,
testRelease
.
getTagName
());
assertEquals
(
TEST_RELEASE_NAME
,
testRelease
.
getName
());
assertEquals
(
TEST_UPDATED_RELEASE_DESCRIPTION
,
testRelease
.
getDescription
());
assertEquals
(
TEST_TAG_NAME
,
testRelease
.
getTagName
());
assertEquals
(
TEST_UPDATED_RELEASE_DESCRIPTION
,
testRelease
.
getDescription
());
gitLabApi
.
getReleasesApi
().
deleteRelease
(
testProject
,
TEST_TAG_NAME
);
assertEquals
(
releasedAt
,
testRelease
.
getReleasedAt
());
release
=
gitLabApi
.
getReleasesApi
().
getOptionalRelease
(
testProject
,
TEST_TAG_NAME
);
assertTrue
(
testRelease
.
getMilestones
().
stream
().
map
(
Milestone:
:
getId
)
assertFalse
(
release
.
isPresent
());
.
anyMatch
(
id
->
id
.
equals
(
testMilestone
.
getId
())));
release
=
gitLabApi
.
getReleasesApi
().
getOptionalRelease
(
testProject
,
TEST_TAG_NAME
);
assertTrue
(
release
.
isPresent
());
testRelease
=
release
.
get
();
assertEquals
(
TEST_RELEASE_NAME
,
testRelease
.
getName
());
assertEquals
(
TEST_TAG_NAME
,
testRelease
.
getTagName
());
assertEquals
(
TEST_UPDATED_RELEASE_DESCRIPTION
,
testRelease
.
getDescription
());
assertEquals
(
releasedAt
,
testRelease
.
getReleasedAt
());
assertTrue
(
testRelease
.
getMilestones
().
stream
().
map
(
Milestone:
:
getId
)
.
anyMatch
(
id
->
id
.
equals
(
testMilestone
.
getId
())));
gitLabApi
.
getReleasesApi
().
deleteRelease
(
testProject
,
TEST_TAG_NAME
);
release
=
gitLabApi
.
getReleasesApi
().
getOptionalRelease
(
testProject
,
TEST_TAG_NAME
);
assertFalse
(
release
.
isPresent
());
}
finally
{
try
{
gitLabApi
.
getMilestonesApi
().
deleteMilestone
(
testProject
,
testMilestone
.
getId
());
}
catch
(
Exception
ignore
)
{}
}
}
}
}
}
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