Skip to content

Commit 8b5d215

Browse files
committed
Fix Commit Status inconsistencies
1 parent 74f5c4d commit 8b5d215

8 files changed

Lines changed: 20 additions & 44 deletions

File tree

NGitLab.Mock/Clients/CommitStatusClient.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public CommitStatusClient(ClientContext context, ProjectId projectId)
1515
_projectId = Server.AllProjects.FindProject(projectId.ValueAsString()).Id;
1616
}
1717

18-
CommitStatusCreate ICommitStatusClient.AddOrUpdate(CommitStatusCreate status)
18+
Models.CommitStatus ICommitStatusClient.AddOrUpdate(CommitStatusCreate status)
1919
{
2020
using (Context.BeginOperationScope())
2121
{
@@ -32,10 +32,9 @@ CommitStatusCreate ICommitStatusClient.AddOrUpdate(CommitStatusCreate status)
3232
commitStatus.Coverage = status.Coverage;
3333
commitStatus.Ref = status.Ref;
3434
commitStatus.Sha = status.CommitSha;
35-
commitStatus.Status = status.Status;
3635
commitStatus.TargetUrl = status.TargetUrl;
3736

38-
return commitStatus.ToClientCommitStatusCreate();
37+
return commitStatus.ToClientCommitStatus();
3938
}
4039

4140
static bool Equals(CommitStatus a, CommitStatusCreate b)

NGitLab.Mock/CommitStatus.cs

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using NGitLab.Models;
2-
3-
namespace NGitLab.Mock;
1+
namespace NGitLab.Mock;
42

53
public sealed class CommitStatus : GitLabObject
64
{
@@ -20,21 +18,6 @@ public sealed class CommitStatus : GitLabObject
2018

2119
public int? Coverage { get; set; }
2220

23-
public CommitStatusCreate ToClientCommitStatusCreate()
24-
{
25-
return new CommitStatusCreate
26-
{
27-
Name = Name,
28-
TargetUrl = TargetUrl,
29-
Status = Status,
30-
Ref = Ref,
31-
CommitSha = Sha,
32-
Description = Description,
33-
State = Status,
34-
Coverage = Coverage,
35-
};
36-
}
37-
3821
public Models.CommitStatus ToClientCommitStatus()
3922
{
4023
return new Models.CommitStatus

NGitLab.Mock/PublicAPI.Unshipped.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ NGitLab.Mock.CommitStatus.Status.set -> void
8484
NGitLab.Mock.CommitStatus.TargetUrl.get -> string
8585
NGitLab.Mock.CommitStatus.TargetUrl.set -> void
8686
NGitLab.Mock.CommitStatus.ToClientCommitStatus() -> NGitLab.Models.CommitStatus
87-
NGitLab.Mock.CommitStatus.ToClientCommitStatusCreate() -> NGitLab.Models.CommitStatusCreate
8887
NGitLab.Mock.CommitStatusCollection
8988
NGitLab.Mock.CommitStatusCollection.CommitStatusCollection(NGitLab.Mock.GitLabObject parent) -> void
9089
NGitLab.Mock.Config.GitLabCollection<TItem, TParent>

NGitLab.Tests/CommitStatusTests.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public async Task Test_AddingCommitStatusesWithDifferentNamesOnSameCommit_Succee
6262
var commitStatus2 = context.CommitStatusClient.AddOrUpdate(commitStatusCreate);
6363

6464
// Assert
65-
var properties = typeof(CommitStatusCreate).GetProperties();
65+
var properties = typeof(CommitStatus).GetProperties();
6666

6767
// All properties should be the same except 'Name' & 'Id'
6868
foreach (var property in properties)
@@ -205,21 +205,21 @@ public static async Task<CommitStatusTestContext> Create()
205205
return new CommitStatusTestContext(context, project, commit, client);
206206
}
207207

208-
public CommitStatusCreate AddOrUpdateCommitStatus(string state = "success", int? coverage = null)
208+
public CommitStatus AddOrUpdateCommitStatus(string state = "success", int? coverage = null)
209209
{
210210
var commitStatusCreate = SetUpCommitStatusCreate(state, coverage: coverage);
211211

212-
var createdCommitStatus = CommitStatusClient.AddOrUpdate(commitStatusCreate);
212+
var commitStatus = CommitStatusClient.AddOrUpdate(commitStatusCreate);
213213

214-
Assert.That(createdCommitStatus.Ref, Is.EqualTo(commitStatusCreate.Ref));
215-
Assert.That(createdCommitStatus.Coverage, Is.EqualTo(commitStatusCreate.Coverage));
216-
Assert.That(createdCommitStatus.Description, Is.EqualTo(commitStatusCreate.Description));
217-
Assert.That(createdCommitStatus.Status, Is.EqualTo(commitStatusCreate.State));
218-
Assert.That(createdCommitStatus.Name, Is.EqualTo(commitStatusCreate.Name));
219-
Assert.That(createdCommitStatus.TargetUrl, Is.EqualTo(commitStatusCreate.TargetUrl));
220-
Assert.That(createdCommitStatus.CommitSha, Is.EqualTo(commitStatusCreate.CommitSha).IgnoreCase);
214+
Assert.That(commitStatus.Ref, Is.EqualTo(commitStatusCreate.Ref));
215+
Assert.That(commitStatus.Coverage, Is.EqualTo(commitStatusCreate.Coverage));
216+
Assert.That(commitStatus.Description, Is.EqualTo(commitStatusCreate.Description));
217+
Assert.That(commitStatus.Status, Is.EqualTo(commitStatusCreate.State));
218+
Assert.That(commitStatus.Name, Is.EqualTo(commitStatusCreate.Name));
219+
Assert.That(commitStatus.TargetUrl, Is.EqualTo(commitStatusCreate.TargetUrl));
220+
Assert.That(commitStatus.CommitSha, Is.EqualTo(commitStatusCreate.CommitSha).IgnoreCase);
221221

222-
return createdCommitStatus;
222+
return commitStatus;
223223
}
224224

225225
public CommitStatusCreate SetUpCommitStatusCreate(string state, string name = null, int? coverage = 100)

NGitLab/ICommitStatusClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ public interface ICommitStatusClient
1515
/// <remarks>
1616
/// Refer to <see href="https://docs.gitlab.com/ee/api/commits.html#set-the-pipeline-status-of-a-commit">"Set the pipeline status of a commit" GitLab doc</see>
1717
/// </remarks>
18-
CommitStatusCreate AddOrUpdate(CommitStatusCreate status);
18+
CommitStatus AddOrUpdate(CommitStatusCreate status);
1919
}

NGitLab/Impl/CommitStatusClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public GitLabCollectionResponse<CommitStatus> GetAsync(string commitSha, CommitS
2525
return _api.Get().GetAllAsync<CommitStatus>(url);
2626
}
2727

28-
public CommitStatusCreate AddOrUpdate(CommitStatusCreate status) => _api.Post().With(status).To<CommitStatusCreate>($"{_statusCreatePath}/{status.CommitSha}");
28+
public CommitStatus AddOrUpdate(CommitStatusCreate status) => _api.Post().With(status).To<CommitStatus>($"{_statusCreatePath}/{status.CommitSha}");
2929

3030
private string GetCommitStatusesPath(string commitSha) => $"{_projectPath}/repository/commits/{commitSha.ToLowerInvariant()}/statuses";
3131

NGitLab/Models/CommitStatusCreate.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,11 @@ namespace NGitLab.Models;
99
/// </summary>
1010
public class CommitStatusCreate
1111
{
12-
[JsonPropertyName("sha")]
12+
[JsonIgnore]
1313
public string CommitSha { get; set; }
1414

1515
[JsonPropertyName("state")]
16-
public string State { get; set; }
17-
18-
[JsonPropertyName("status")]
19-
public string Status { get; set; }
16+
public required string State { get; set; }
2017

2118
[JsonPropertyName("ref")]
2219
public string Ref { get; set; }

NGitLab/PublicAPI.Unshipped.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ NGitLab.ICommitClient.GetJobStatus(string branchName) -> NGitLab.JobStatus
136136
NGitLab.ICommitClient.GetRelatedMergeRequestsAsync(NGitLab.Models.RelatedMergeRequestsQuery query) -> NGitLab.GitLabCollectionResponse<NGitLab.Models.MergeRequest>
137137
NGitLab.ICommitClient.Revert(NGitLab.Models.CommitRevert revert) -> NGitLab.Models.Commit
138138
NGitLab.ICommitStatusClient
139-
NGitLab.ICommitStatusClient.AddOrUpdate(NGitLab.Models.CommitStatusCreate status) -> NGitLab.Models.CommitStatusCreate
139+
NGitLab.ICommitStatusClient.AddOrUpdate(NGitLab.Models.CommitStatusCreate status) -> NGitLab.Models.CommitStatus
140140
NGitLab.ICommitStatusClient.AllBySha(string commitSha) -> System.Collections.Generic.IEnumerable<NGitLab.Models.CommitStatus>
141141
NGitLab.ICommitStatusClient.GetAsync(string commitSha, NGitLab.Models.CommitStatusQuery query = null) -> NGitLab.GitLabCollectionResponse<NGitLab.Models.CommitStatus>
142142
NGitLab.IContributorClient
@@ -491,7 +491,7 @@ NGitLab.Impl.CommitClient.GetJobStatus(string branchName) -> NGitLab.JobStatus
491491
NGitLab.Impl.CommitClient.GetRelatedMergeRequestsAsync(NGitLab.Models.RelatedMergeRequestsQuery query) -> NGitLab.GitLabCollectionResponse<NGitLab.Models.MergeRequest>
492492
NGitLab.Impl.CommitClient.Revert(NGitLab.Models.CommitRevert revert) -> NGitLab.Models.Commit
493493
NGitLab.Impl.CommitStatusClient
494-
NGitLab.Impl.CommitStatusClient.AddOrUpdate(NGitLab.Models.CommitStatusCreate status) -> NGitLab.Models.CommitStatusCreate
494+
NGitLab.Impl.CommitStatusClient.AddOrUpdate(NGitLab.Models.CommitStatusCreate status) -> NGitLab.Models.CommitStatus
495495
NGitLab.Impl.CommitStatusClient.AllBySha(string commitSha) -> System.Collections.Generic.IEnumerable<NGitLab.Models.CommitStatus>
496496
NGitLab.Impl.CommitStatusClient.CommitStatusClient(NGitLab.Impl.API api, NGitLab.Models.ProjectId projectId) -> void
497497
NGitLab.Impl.CommitStatusClient.GetAsync(string commitSha, NGitLab.Models.CommitStatusQuery query = null) -> NGitLab.GitLabCollectionResponse<NGitLab.Models.CommitStatus>
@@ -1635,8 +1635,6 @@ NGitLab.Models.CommitStatusCreate.Ref.get -> string
16351635
NGitLab.Models.CommitStatusCreate.Ref.set -> void
16361636
NGitLab.Models.CommitStatusCreate.State.get -> string
16371637
NGitLab.Models.CommitStatusCreate.State.set -> void
1638-
NGitLab.Models.CommitStatusCreate.Status.get -> string
1639-
NGitLab.Models.CommitStatusCreate.Status.set -> void
16401638
NGitLab.Models.CommitStatusCreate.TargetUrl.get -> string
16411639
NGitLab.Models.CommitStatusCreate.TargetUrl.set -> void
16421640
NGitLab.Models.CommitStatusQuery

0 commit comments

Comments
 (0)