Files
octokit.net/Octokit.Tests/Reactive/ObservableDependencySubmissionClientTests.cs
awedist 7d54cb0d85 feat: Implement dependency review and dependency submission APIs (#2932)
Implement dependency review and dependency submission

Co-authored-by: André Pereira <Andre.LuisPereira@Student.HTW-Berlin.de>
2024-06-14 17:03:11 -05:00

72 lines
2.6 KiB
C#

using NSubstitute;
using Octokit.Reactive;
using System;
using Xunit;
namespace Octokit.Tests.Reactive
{
public class ObservableDependencySubmissionClientTests
{
public class TheCreateMethod
{
private NewDependencySnapshot newDependencySnapshot = new NewDependencySnapshot(
1,
"sha",
"ref",
"scanned",
new NewDependencySnapshotJob("runId", "jobCorrelator"),
new NewDependencySnapshotDetector("detectorName", "detectorVersion", "detectorUrl"));
[Fact]
public void PostsToTheCorrectUrl()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableDependencySubmissionClient(gitHubClient);
client.Create("fake", "repo", newDependencySnapshot);
gitHubClient.DependencyGraph.DependencySubmission.Received().Create("fake", "repo", newDependencySnapshot);
}
[Fact]
public void PostsToTheCorrectUrlWithRepositoryId()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableDependencySubmissionClient(gitHubClient);
client.Create(1, newDependencySnapshot);
gitHubClient.DependencyGraph.DependencySubmission.Received().Create(1, newDependencySnapshot);
}
[Fact]
public void EnsuresNonNullArguments()
{
var client = new ObservableDependencySubmissionClient(Substitute.For<IGitHubClient>());
Assert.Throws<ArgumentNullException>(() => client.Create(null, "name", newDependencySnapshot));
Assert.Throws<ArgumentNullException>(() => client.Create("owner", null, newDependencySnapshot));
Assert.Throws<ArgumentNullException>(() => client.Create("owner", "name", null));
}
[Fact]
public void EnsuresNonEmptyArguments()
{
var client = new ObservableDependencySubmissionClient(Substitute.For<IGitHubClient>());
Assert.Throws<ArgumentException>(() => client.Create("", "name", newDependencySnapshot));
Assert.Throws<ArgumentException>(() => client.Create("owner", "", newDependencySnapshot));
}
}
public class TheCtor
{
[Fact]
public void EnsuresNonNullArguments()
{
Assert.Throws<ArgumentNullException>(() => new ObservableDependencySubmissionClient(null));
}
}
}
}