本文整理汇总了C#中ReleasesClient类的典型用法代码示例。如果您正苦于以下问题:C# ReleasesClient类的具体用法?C# ReleasesClient怎么用?C# ReleasesClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ReleasesClient类属于命名空间,在下文中一共展示了ReleasesClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EnsuresNonNullArguments
public async Task EnsuresNonNullArguments()
{
var releasesClient = new ReleasesClient(Substitute.For<IApiConnection>());
await Assert.ThrowsAsync<ArgumentNullException>(() => releasesClient.GetAll(null, "name"));
await Assert.ThrowsAsync<ArgumentNullException>(() => releasesClient.GetAll("owner", null));
}
示例2: EnsuresNonNullArguments
public void EnsuresNonNullArguments()
{
var releasesClient = new ReleasesClient(Substitute.For<IApiConnection>());
Assert.Throws<ArgumentNullException>(() => releasesClient.Get(null, "name", 1));
Assert.Throws<ArgumentException>(() => releasesClient.Get("", "name", 1));
Assert.Throws<ArgumentNullException>(() => releasesClient.Get("owner", null, 1));
Assert.Throws<ArgumentException>(() => releasesClient.Get("owner", "", 1));
}
示例3: RequestsTheCorrectUrl
public void RequestsTheCorrectUrl()
{
var connection = Substitute.For<IApiConnection>();
var client = new ReleasesClient(connection);
client.GetLatest("fake", "repo");
connection.Received().Get<Release>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/releases/latest"));
}
示例4: RequestsTheCorrectUrl
public async Task RequestsTheCorrectUrl()
{
var connection = Substitute.For<IApiConnection>();
var client = new ReleasesClient(connection);
await client.Get("fake", "repo", 1);
connection.Received().Get<Release>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/releases/1"));
}
示例5: EnsuresArgumentsNotNull
public async Task EnsuresArgumentsNotNull()
{
var releasesClient = new ReleasesClient(Substitute.For<IApiConnection>());
var data = new NewRelease("fake-tag");
Assert.Throws<ArgumentNullException>(() => new NewRelease(null));
await Assert.ThrowsAsync<ArgumentNullException>(() => releasesClient.Create(null, "name", data));
await Assert.ThrowsAsync<ArgumentNullException>(() => releasesClient.Create("owner", null, data));
await Assert.ThrowsAsync<ArgumentNullException>(() => releasesClient.Create("owner", "name", null));
}
示例6: RequestsCorrectUrl
public void RequestsCorrectUrl()
{
var client = Substitute.For<IApiConnection>();
var releasesClient = new ReleasesClient(client);
releasesClient.GetAll("fake", "repo");
client.Received().GetAll<Release>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/releases"),
null,
"application/vnd.github.v3");
}
示例7: RequestsCorrectUrl
public void RequestsCorrectUrl()
{
var client = Substitute.For<IApiConnection>();
var releasesClient = new ReleasesClient(client);
var data = new NewRelease("fake-tag");
releasesClient.Create("fake", "repo", data);
client.Received().Post<Release>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/releases"),
data,
"application/vnd.github.v3");
}
示例8: RequestsCorrectUrlWithRepositoryId
public async Task RequestsCorrectUrlWithRepositoryId()
{
var client = Substitute.For<IApiConnection>();
var releasesClient = new ReleasesClient(client);
await releasesClient.GetAll(1);
client.Received().GetAll<Release>(Arg.Is<Uri>(u => u.ToString() == "repositories/1/releases"),
null,
"application/vnd.github.v3",
Args.ApiOptions);
}
示例9: UploadsToCorrectUrl
public void UploadsToCorrectUrl()
{
var client = Substitute.For<IApiConnection>();
var releasesClient = new ReleasesClient(client);
var release = new Release { UploadUrl = "https://uploads.test.dev/does/not/matter/releases/1/assets{?name}" };
var rawData = Substitute.For<Stream>();
var upload = new ReleaseAssetUpload { FileName = "example.zip", ContentType = "application/zip", RawData = rawData };
releasesClient.UploadAsset(release, upload);
client.Received().Post<ReleaseAsset>(
Arg.Is<Uri>(u => u.ToString() == "https://uploads.test.dev/does/not/matter/releases/1/assets?name=example.zip"),
rawData,
"application/vnd.github.v3",
Arg.Is<string>(contentType => contentType == "application/zip"));
}
示例10: RequestsCorrectUrlWithRepositoryIdWithApiOptions
public async Task RequestsCorrectUrlWithRepositoryIdWithApiOptions()
{
var client = Substitute.For<IApiConnection>();
var releasesClient = new ReleasesClient(client);
var options = new ApiOptions
{
PageSize = 1,
PageCount = 1,
StartPage = 1
};
await releasesClient.GetAll(1, options);
client.Received().GetAll<Release>(Arg.Is<Uri>(u => u.ToString() == "repositories/1/releases"),
null,
"application/vnd.github.v3",
options);
}
示例11: RequestsTheCorrectUrlWithRepositoryId
public async Task RequestsTheCorrectUrlWithRepositoryId()
{
var connection = Substitute.For<IApiConnection>();
var client = new ReleasesClient(connection);
var data = new ReleaseAssetUpdate("asset");
await client.EditAsset(1, 1, data);
connection.Received().Patch<ReleaseAsset>(Arg.Is<Uri>(u => u.ToString() == "repositories/1/releases/assets/1"),
data);
}
示例12: EnsuresNonNullArguments
public async Task EnsuresNonNullArguments()
{
var releasesClient = new ReleasesClient(Substitute.For<IApiConnection>());
var release = new Release("https://uploads.github.com/anything");
var uploadData = new ReleaseAssetUpload("good", "good/good", Stream.Null, null);
await Assert.ThrowsAsync<ArgumentNullException>(() => releasesClient.UploadAsset(null, uploadData));
await Assert.ThrowsAsync<ArgumentNullException>(() => releasesClient.UploadAsset(release, null));
}
示例13: OverrideDefaultTimeout
public async Task OverrideDefaultTimeout()
{
var newTimeout = TimeSpan.FromSeconds(100);
var apiConnection = Substitute.For<IApiConnection>();
var fixture = new ReleasesClient(apiConnection);
var release = new Release("https://uploads.github.com/anything");
var uploadData = new ReleaseAssetUpload("good", "good/good", Stream.Null, newTimeout);
await fixture.UploadAsset(release, uploadData);
apiConnection.Received().Post<ReleaseAsset>(Arg.Any<Uri>(), uploadData.RawData, Arg.Any<string>(), uploadData.ContentType, newTimeout);
}
示例14: RequestsTheCorrectUrlWithApiOptions
public async Task RequestsTheCorrectUrlWithApiOptions()
{
var connection = Substitute.For<IApiConnection>();
var client = new ReleasesClient(connection);
var options = new ApiOptions
{
StartPage = 1,
PageCount = 1,
PageSize = 1
};
await client.GetAllAssets("fake", "repo", 1, options);
connection.Received().GetAll<ReleaseAsset>(
Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/releases/1/assets"),
null,
"application/vnd.github.v3", options);
}
示例15: EnsuresNonNullArguments
public async Task EnsuresNonNullArguments()
{
var client = new ReleasesClient(Substitute.For<IApiConnection>());
AssertEx.Throws<ArgumentNullException>(async () => await client.GetAsset(null, "name", 1, 1));
AssertEx.Throws<ArgumentException>(async () => await client.GetAsset("", "name", 1, 1));
AssertEx.Throws<ArgumentNullException>(async () => await client.GetAsset("owner", null, 1, 1));
AssertEx.Throws<ArgumentException>(async () => await client.GetAsset("owner", "", 1, 1));
}