Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address change requests for Generic Package upload from ubisoft/NGitLab#524 #1

Open
wants to merge 123 commits into
base: upload-generic-packages
Choose a base branch
from

Conversation

ap0llo
Copy link

@ap0llo ap0llo commented May 5, 2024

This PR updates the upload-generic-packages branch to address the feedback in ubisoft#524.

In addition to the review commends from the upstream PR,I took the liberty to include some additional changes:

  • I merged the latest version of main from the upstream repository to address merge conflicts
    • ℹ️ This is the cause of the large diff in this PR. If you prefer, I can split this into multiple PRs separating my changes to the Generic Package support from the upstream changes
  • I adjusted the PackagePublish class to model the Status property as enum and renamed the PackageStream property to FileStream to make the property's purpose clearer
  • I changed the type of the projectId parameter from int to ProjectId (this was introduced upstream since the PR was originally created and allows specifying the project either via the project id or its path)
  • Added the ability to search by package version to PackageQuery

dependabot bot and others added 30 commits September 18, 2023 08:02
Bumps [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) from 2.0.84 to 2.0.85.
- [Release notes](https://github.com/meziantou/Meziantou.Analyzer/releases)
- [Commits](meziantou/Meziantou.Analyzer@2.0.84...2.0.85)

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps NSubstitute from 5.0.0 to 5.1.0.

---
updated-dependencies:
- dependency-name: NSubstitute
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Microsoft.Playwright](https://github.com/microsoft/playwright-dotnet) from 1.37.1 to 1.38.0.
- [Release notes](https://github.com/microsoft/playwright-dotnet/releases)
- [Commits](microsoft/playwright-dotnet@v1.37.1...v1.38.0)

---
updated-dependencies:
- dependency-name: Microsoft.Playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [YamlDotNet](https://github.com/aaubry/YamlDotNet) from 13.3.1 to 13.4.0.
- [Release notes](https://github.com/aaubry/YamlDotNet/releases)
- [Commits](aaubry/YamlDotNet@v13.3.1...v13.4.0)

---
updated-dependencies:
- dependency-name: YamlDotNet
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.7.1 to 17.7.2.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](microsoft/vstest@v17.7.1...v17.7.2)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Support sub modules in mocks

* Clean

* Update NGitLab.Mock/Config/GitLabHelpers.cs

Co-authored-by: Gérald Barré <[email protected]>

---------

Co-authored-by: Gérald Barré <[email protected]>
Bumps [Polly](https://github.com/App-vNext/Polly) from 7.2.4 to 8.0.0.
- [Release notes](https://github.com/App-vNext/Polly/releases)
- [Changelog](https://github.com/App-vNext/Polly/blob/main/CHANGELOG.md)
- [Commits](App-vNext/Polly@7.2.4...8.0.0)

---
updated-dependencies:
- dependency-name: Polly
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) from 2.0.85 to 2.0.91.
- [Release notes](https://github.com/meziantou/Meziantou.Analyzer/releases)
- [Commits](meziantou/Meziantou.Analyzer@2.0.85...2.0.91)

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [YamlDotNet](https://github.com/aaubry/YamlDotNet) from 13.4.0 to 13.5.2.
- [Release notes](https://github.com/aaubry/YamlDotNet/releases)
- [Commits](aaubry/YamlDotNet@v13.4.0...v13.5.2)

---
updated-dependencies:
- dependency-name: YamlDotNet
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) from 2.0.91 to 2.0.92.
- [Release notes](https://github.com/meziantou/Meziantou.Analyzer/releases)
- [Commits](meziantou/Meziantou.Analyzer@2.0.91...2.0.92)

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) from 2.0.92 to 2.0.93.
- [Release notes](https://github.com/meziantou/Meziantou.Analyzer/releases)
- [Commits](meziantou/Meziantou.Analyzer@2.0.92...2.0.93)

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [YamlDotNet](https://github.com/aaubry/YamlDotNet) from 13.5.2 to 13.7.1.
- [Release notes](https://github.com/aaubry/YamlDotNet/releases)
- [Commits](aaubry/YamlDotNet@v13.5.2...v13.7.1)

---
updated-dependencies:
- dependency-name: YamlDotNet
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Microsoft.Playwright](https://github.com/microsoft/playwright-dotnet) from 1.38.0 to 1.39.0.
- [Release notes](https://github.com/microsoft/playwright-dotnet/releases)
- [Commits](microsoft/playwright-dotnet@v1.38.0...v1.39.0)

---
updated-dependencies:
- dependency-name: Microsoft.Playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) from 2.0.93 to 2.0.94.
- [Release notes](https://github.com/meziantou/Meziantou.Analyzer/releases)
- [Commits](meziantou/Meziantou.Analyzer@2.0.93...2.0.94)

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add ResourceEvents for merge requests

- Closes ubisoft#546

* added resources uses in mock

* comment fixes

* modified mock for resourceLabelEvent for MRs

[skip ci]

* added resourceMilestones to mock and tests

* api changes

* added comment to tests
* Add TimeStatsAsync to MergeRequestClient

* Remove projectId parameter from MergeRequestClient TimeStatsAsync method and use _projectPath

* fix comment
Bumps [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) from 2.0.94 to 2.0.103.
- [Release notes](https://github.com/meziantou/Meziantou.Analyzer/releases)
- [Commits](meziantou/Meziantou.Analyzer@2.0.94...2.0.103)

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

* Support long and string id for projects and groups, then obsolete int

* Correct MilestoneClient

* Replace record types with struct + interface

* Fix typo `IIdOrPathAddressable`

---------

Co-authored-by: Thomas Cortes <[email protected]>
Bumps [Polly](https://github.com/App-vNext/Polly) from 8.0.0 to 8.1.0.
- [Release notes](https://github.com/App-vNext/Polly/releases)
- [Changelog](https://github.com/App-vNext/Polly/blob/main/CHANGELOG.md)
- [Commits](App-vNext/Polly@8.0.0...8.1.0)

---
updated-dependencies:
- dependency-name: Polly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Draft status missing in MergeRequest class

- Closes ubisoft#552

* added obsolete to work in progress for mergeRequest

* further changes for draft
Bumps [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) from 2.0.103 to 2.0.109.
- [Release notes](https://github.com/meziantou/Meziantou.Analyzer/releases)
- [Commits](meziantou/Meziantou.Analyzer@2.0.103...2.0.109)

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [NUnit](https://github.com/nunit/nunit) from 3.13.3 to 3.14.0.
- [Release notes](https://github.com/nunit/nunit/releases)
- [Changelog](https://github.com/nunit/nunit/blob/master/CHANGES.md)
- [Commits](nunit/nunit@v3.13.3...v3.14.0)

---
updated-dependencies:
- dependency-name: NUnit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Replace recent [Obsolete] additions with [EditorBrowsable]

Replace
[Obsolete("Use long or namespaced path string as projectId instead.")]
with
[EditorBrowsable(EditorBrowsableState.Never)]

* update
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.7.2 to 17.8.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](microsoft/vstest@v17.7.2...v17.8.0)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Cortes <[email protected]>
dependabot bot and others added 30 commits March 4, 2024 15:20
* Bump the ms-dependencies group with 3 updates

Bumps the ms-dependencies group with 3 updates: [System.Text.Json](https://github.com/dotnet/runtime), [Microsoft.AspNetCore.WebUtilities](https://github.com/dotnet/aspnetcore) and [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest).


Updates `System.Text.Json` from 8.0.0 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](dotnet/runtime@v8.0.0...v8.0.2)

Updates `Microsoft.AspNetCore.WebUtilities` from 8.0.0 to 8.0.2
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v8.0.0...v8.0.2)

Updates `Microsoft.NET.Test.Sdk` from 17.8.0 to 17.9.0
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](microsoft/vstest@v17.8.0...v17.9.0)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ms-dependencies
- dependency-name: Microsoft.AspNetCore.WebUtilities
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ms-dependencies
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ms-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>

* Fix incomplete PR

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Louis Zanella <[email protected]>
Bumps [Polly](https://github.com/App-vNext/Polly) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/App-vNext/Polly/releases)
- [Changelog](https://github.com/App-vNext/Polly/blob/main/CHANGELOG.md)
- [Commits](App-vNext/Polly@8.3.0...8.3.1)

---
updated-dependencies:
- dependency-name: Polly
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Microsoft.Playwright](https://github.com/microsoft/playwright-dotnet) from 1.41.2 to 1.42.0.
- [Release notes](https://github.com/microsoft/playwright-dotnet/releases)
- [Commits](microsoft/playwright-dotnet@v1.41.2...v1.42.0)

---
updated-dependencies:
- dependency-name: Microsoft.Playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Make it possible to create discusion for a specific change

* Update PublicAPI.Unshipped.txt

* Update MergeRequestDiscussionCreate.cs and PublicAPI.Unshipped.txt
…oft#642)

* Add Page support to IGroupsClient

* Add unit tests for mock GroupClient

* Add integration tests

* Fix integration test failures

* Replace WebHeaderCollection with NameValueCollection

Do not use System.Net types in public APIs.

* Revert all possible breaking changes

* Update docs to use the 3rd person descriptive form

* Replace `ToList` with `ToArray`

* Keep static fields together

* Dispose `StreamReader`

* Return early in some cases to reduce indentation

* Use `PagedResponse<T>` for all paged responses

* Replace NameValueCollection with a IReadOnlyDictionary

* Add unit tests for WebHeadersDictionaryAdaptor

* Replace the custom IEnumerator impl with the IEnumerable's enumerator

* Use custom error message
* Add CreateAsync to UserClient

* UserClient: `CreateAsync` call-though to `Create`

Co-authored-by: John Belcher <[email protected]>

---------

Co-authored-by: John Belcher <[email protected]>
Bumps the code-analyzers group with 2 updates: [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) and [NUnit.Analyzers](https://github.com/nunit/nunit.analyzers).


Updates `Meziantou.Analyzer` from 2.0.145 to 2.0.146
- [Release notes](https://github.com/meziantou/Meziantou.Analyzer/releases)
- [Commits](meziantou/Meziantou.Analyzer@2.0.145...2.0.146)

Updates `NUnit.Analyzers` from 4.0.1 to 4.1.0
- [Release notes](https://github.com/nunit/nunit.analyzers/releases)
- [Changelog](https://github.com/nunit/nunit.analyzers/blob/master/CHANGES.txt)
- [Commits](nunit/nunit.analyzers@4.0.1...4.1.0)

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: code-analyzers
- dependency-name: NUnit.Analyzers
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: code-analyzers
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the ms-dependencies group with 2 updates: [System.Text.Json](https://github.com/dotnet/runtime) and [Microsoft.AspNetCore.WebUtilities](https://github.com/dotnet/aspnetcore).


Updates `System.Text.Json` from 8.0.2 to 8.0.3
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](dotnet/runtime@v8.0.2...v8.0.3)

Updates `Microsoft.AspNetCore.WebUtilities` from 8.0.2 to 8.0.3
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v8.0.2...v8.0.3)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ms-dependencies
- dependency-name: Microsoft.AspNetCore.WebUtilities
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ms-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/coverlet-coverage/coverlet/releases)
- [Commits](coverlet-coverage/coverlet@v6.0.1...v6.0.2)

---
updated-dependencies:
- dependency-name: coverlet.collector
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Improve Create Group and Create User mock to better emulate GitLab.
- Add support for explicit Group Path in mock helpers.
- Add `RemoveMemberFrom*Async` and Implement async versions of the other Group and Project methods.
- Add `IUserClient.GetByUserNameAsync`
- Add unit and integrations tests to verify behavior of both the GitHub and Mock `IMembersClient`.
Bumps [LibGit2Sharp](https://github.com/libgit2/libgit2sharp) from 0.29.0 to 0.30.0.
- [Release notes](https://github.com/libgit2/libgit2sharp/releases)
- [Changelog](https://github.com/libgit2/libgit2sharp/blob/master/CHANGES.md)
- [Commits](libgit2/libgit2sharp@0.29.0...0.30.0)

---
updated-dependencies:
- dependency-name: LibGit2Sharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add async `IProjectClient` methods

Also improve the Mock ProjectClient to better emulate actual GitLab behavior.

* Improve tests, fix bugs

* Revert an unintentional change

* Fix an error when creating a `Mock.Project` from a `GitLabProject` with a null `Path`
* Make Utils.AddParameter<T>() support EnumMemberAttribute

* Add test
* Add support to Group hooks

- Closes ubisoft#654

* Unit test the group hooks client

* Mock group hooks client

* Refactors based on review comments

* Set nullable properties in GroupHookUpsert

Review refactor

---------

Co-authored-by: Prashanthi Ramesh <[email protected]>
)

* Add IUserClient.CreateTokenAsync()

* Add Group.CreatedOn property.
In the Package* enums, name the members according to the C# style and map to GitLab names only when building URLs
Instead of a string model the PackagePublish.Status property as enum that defines all the values accepted by the GitLab API.
Additionally, make this optional to match the GitLab API (where the parameter is optional as well)
…ze what the parameter does

GitLab generic packages allows uploading multiple files to the same package, the stream in PackagePublish defines the content a the single file being uploaded, not the contents of the entire package
…eric-packages

# Conflicts:
#	NGitLab.Mock/Clients/GitLabClient.cs
#	NGitLab.Tests/Impl/UtilsTests.cs
#	NGitLab/GitLabClient.cs
#	NGitLab/IGitLabClient.cs
#	NGitLab/Impl/HttpRequestor.GitLabRequest.cs
#	NGitLab/Impl/Json/ReflectionExtensions.cs
#	NGitLab/Impl/Utils.cs
In the package client, use the ProjectId type instead of int to specify the project id.
This allows callers to reference the project either via the id or the project path (the namespace & project name)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.