completes get images by album implementation and adds verify to makes testing a bit easier
This commit is contained in:
parent
ff53bbec16
commit
95facd4019
@ -0,0 +1,16 @@
|
||||
[
|
||||
{
|
||||
id: 1,
|
||||
name: UnitTestMain
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: UnitTestSub2,
|
||||
id_uppercat: 1
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: UnitTestSub1,
|
||||
id_uppercat: 1
|
||||
}
|
||||
]
|
@ -130,21 +130,6 @@ public class AlbumApiTests : ApiTestsBase
|
||||
|
||||
CorrectMethodShouldGetCalled("pwg.categories.getList");
|
||||
|
||||
response.Should().HaveCount(3);
|
||||
response.Should().SatisfyRespectively(c =>
|
||||
{
|
||||
c.Id.Should().Be(1);
|
||||
c.Name.Should().Be("UnitTestMain");
|
||||
}, c =>
|
||||
{
|
||||
c.Id.Should().Be(3);
|
||||
c.Name.Should().Be("UnitTestSub2");
|
||||
c.IdUpperCat.Should().Be(1);
|
||||
}, c =>
|
||||
{
|
||||
c.Id.Should().Be(2);
|
||||
c.Name.Should().Be("UnitTestSub1");
|
||||
c.IdUpperCat.Should().Be(1);
|
||||
});
|
||||
await Verify(response);
|
||||
}
|
||||
}
|
@ -0,0 +1,272 @@
|
||||
{
|
||||
paging: {
|
||||
per_page: 100,
|
||||
count: 4
|
||||
},
|
||||
images: [
|
||||
{
|
||||
id: 4,
|
||||
width: 4452,
|
||||
height: 2968,
|
||||
hit: 2,
|
||||
file: 2017-08-30-20-38-c7d_7682.jpg,
|
||||
name: 2017-08-30-20-38-c7d 7682,
|
||||
date_creation: DateTime_1,
|
||||
date_available: DateTime_2,
|
||||
page_url: http://localhost:8080/picture.php?/4,
|
||||
element_url: http://localhost:8080/upload/2022/10/20/20221020220132-2c6d9eab.jpg,
|
||||
derivatives: {
|
||||
2small: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220132-2c6d9eab-2s.jpg,
|
||||
width: 240,
|
||||
height: 160
|
||||
},
|
||||
large: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220132-2c6d9eab-la.jpg,
|
||||
width: 1008,
|
||||
height: 672
|
||||
},
|
||||
medium: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220132-2c6d9eab-me.jpg,
|
||||
width: 792,
|
||||
height: 528
|
||||
},
|
||||
small: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220132-2c6d9eab-sm.jpg,
|
||||
width: 576,
|
||||
height: 384
|
||||
},
|
||||
square: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220132-2c6d9eab-sq.jpg,
|
||||
width: 120,
|
||||
height: 120
|
||||
},
|
||||
thumb: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220132-2c6d9eab-th.jpg,
|
||||
width: 144,
|
||||
height: 96
|
||||
},
|
||||
xlarge: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220132-2c6d9eab-xl.jpg,
|
||||
width: 1224,
|
||||
height: 816
|
||||
},
|
||||
xsmall: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220132-2c6d9eab-xs.jpg,
|
||||
width: 432,
|
||||
height: 288
|
||||
},
|
||||
xxlarge: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220132-2c6d9eab-xx.jpg,
|
||||
width: 1656,
|
||||
height: 1104
|
||||
}
|
||||
},
|
||||
categories: [
|
||||
{
|
||||
id: 7,
|
||||
url: http://localhost:8080/index.php?/category/7,
|
||||
page_url: http://localhost:8080/picture.php?/4/category/7
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
width: 3961,
|
||||
height: 2641,
|
||||
hit: 4,
|
||||
file: 2017-05-24-20-35-c7d_6283.jpg,
|
||||
name: 2017-05-24-20-35-c7d 6283,
|
||||
date_creation: DateTime_3,
|
||||
date_available: DateTime_4,
|
||||
page_url: http://localhost:8080/picture.php?/3,
|
||||
element_url: http://localhost:8080/upload/2022/10/20/20221020220131-9a567bdb.jpg,
|
||||
derivatives: {
|
||||
2small: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220131-9a567bdb-2s.jpg,
|
||||
width: 240,
|
||||
height: 160
|
||||
},
|
||||
large: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220131-9a567bdb-la.jpg,
|
||||
width: 1008,
|
||||
height: 672
|
||||
},
|
||||
medium: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220131-9a567bdb-me.jpg,
|
||||
width: 792,
|
||||
height: 528
|
||||
},
|
||||
small: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220131-9a567bdb-sm.jpg,
|
||||
width: 576,
|
||||
height: 384
|
||||
},
|
||||
square: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220131-9a567bdb-sq.jpg,
|
||||
width: 120,
|
||||
height: 120
|
||||
},
|
||||
thumb: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220131-9a567bdb-th.jpg,
|
||||
width: 144,
|
||||
height: 96
|
||||
},
|
||||
xlarge: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220131-9a567bdb-xl.jpg,
|
||||
width: 1224,
|
||||
height: 816
|
||||
},
|
||||
xsmall: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220131-9a567bdb-xs.jpg,
|
||||
width: 432,
|
||||
height: 288
|
||||
},
|
||||
xxlarge: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220131-9a567bdb-xx.jpg,
|
||||
width: 1656,
|
||||
height: 1104
|
||||
}
|
||||
},
|
||||
categories: [
|
||||
{
|
||||
id: 7,
|
||||
url: http://localhost:8080/index.php?/category/7,
|
||||
page_url: http://localhost:8080/picture.php?/3/category/7
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
width: 3107,
|
||||
height: 4660,
|
||||
hit: 4,
|
||||
file: 2017-04-21-11-53-C7D_4469.jpg,
|
||||
name: 2017-04-21-11-53-C7D 4469,
|
||||
date_creation: DateTime_5,
|
||||
date_available: DateTime_6,
|
||||
page_url: http://localhost:8080/picture.php?/2,
|
||||
element_url: http://localhost:8080/upload/2022/10/20/20221020220130-8e50dbd3.jpg,
|
||||
derivatives: {
|
||||
2small: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220130-8e50dbd3-2s.jpg,
|
||||
width: 160,
|
||||
height: 240
|
||||
},
|
||||
large: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220130-8e50dbd3-la.jpg,
|
||||
width: 504,
|
||||
height: 756
|
||||
},
|
||||
medium: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220130-8e50dbd3-me.jpg,
|
||||
width: 396,
|
||||
height: 594
|
||||
},
|
||||
small: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220130-8e50dbd3-sm.jpg,
|
||||
width: 288,
|
||||
height: 432
|
||||
},
|
||||
square: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220130-8e50dbd3-sq.jpg,
|
||||
width: 120,
|
||||
height: 120
|
||||
},
|
||||
thumb: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220130-8e50dbd3-th.jpg,
|
||||
width: 96,
|
||||
height: 144
|
||||
},
|
||||
xlarge: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220130-8e50dbd3-xl.jpg,
|
||||
width: 612,
|
||||
height: 918
|
||||
},
|
||||
xsmall: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220130-8e50dbd3-xs.jpg,
|
||||
width: 216,
|
||||
height: 324
|
||||
},
|
||||
xxlarge: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220130-8e50dbd3-xx.jpg,
|
||||
width: 828,
|
||||
height: 1242
|
||||
}
|
||||
},
|
||||
categories: [
|
||||
{
|
||||
id: 7,
|
||||
url: http://localhost:8080/index.php?/category/7,
|
||||
page_url: http://localhost:8080/picture.php?/2/category/7
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
width: 5184,
|
||||
height: 3456,
|
||||
hit: 2,
|
||||
file: 2017-01-05-11-25-c7d_2770.jpg,
|
||||
name: 2017-01-05-11-25-c7d 2770,
|
||||
date_creation: DateTime_7,
|
||||
date_available: DateTime_8,
|
||||
page_url: http://localhost:8080/picture.php?/1,
|
||||
element_url: http://localhost:8080/upload/2022/10/20/20221020220129-6b8c2a7d.jpg,
|
||||
derivatives: {
|
||||
2small: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220129-6b8c2a7d-2s.jpg,
|
||||
width: 240,
|
||||
height: 160
|
||||
},
|
||||
large: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220129-6b8c2a7d-la.jpg,
|
||||
width: 1008,
|
||||
height: 672
|
||||
},
|
||||
medium: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220129-6b8c2a7d-me.jpg,
|
||||
width: 792,
|
||||
height: 528
|
||||
},
|
||||
small: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220129-6b8c2a7d-sm.jpg,
|
||||
width: 576,
|
||||
height: 384
|
||||
},
|
||||
square: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220129-6b8c2a7d-sq.jpg,
|
||||
width: 120,
|
||||
height: 120
|
||||
},
|
||||
thumb: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220129-6b8c2a7d-th.jpg,
|
||||
width: 144,
|
||||
height: 96
|
||||
},
|
||||
xlarge: {
|
||||
url: http://localhost:8080/i.php?/upload/2022/10/20/20221020220129-6b8c2a7d-xl.jpg,
|
||||
width: 1224,
|
||||
height: 816
|
||||
},
|
||||
xsmall: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220129-6b8c2a7d-xs.jpg,
|
||||
width: 432,
|
||||
height: 288
|
||||
},
|
||||
xxlarge: {
|
||||
url: http://localhost:8080/_data/i/upload/2022/10/20/20221020220129-6b8c2a7d-xx.jpg,
|
||||
width: 1656,
|
||||
height: 1104
|
||||
}
|
||||
},
|
||||
categories: [
|
||||
{
|
||||
id: 7,
|
||||
url: http://localhost:8080/index.php?/category/7,
|
||||
page_url: http://localhost:8080/picture.php?/1/category/7
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -27,10 +27,6 @@ public class ImageApiTests : ApiTestsBase
|
||||
CorrectParamShouldGetSent("per_page", "100");
|
||||
CorrectParamShouldGetSent("page", "0");
|
||||
|
||||
result.Images.Should().HaveCount(4);
|
||||
result.Images.First().Id.Should().Be(4);
|
||||
result.Paging.Page.Should().Be(0);
|
||||
result.Paging.PageSize.Should().Be(100);
|
||||
result.Paging.TotalItems.Should().Be(4);
|
||||
await Verify(result);
|
||||
}
|
||||
}
|
@ -15,6 +15,7 @@
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
|
||||
<PackageReference Include="NUnit.Analyzers" Version="3.3.0" />
|
||||
<PackageReference Include="coverlet.collector" Version="3.1.2" />
|
||||
<PackageReference Include="Verify.NUnit" Version="17.10.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@ -25,6 +26,12 @@
|
||||
<None Update="ImageApi.getImages.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="ImageApiTests.GetImages_should_return_expected_images.verified.txt">
|
||||
<DependentUpon>ImageApiTests.cs</DependentUpon>
|
||||
</None>
|
||||
<None Update="AlbumApiTests.GetAll_should_return_all_existing_albums.verified.txt">
|
||||
<DependentUpon>AlbumApiTests.cs</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -16,5 +16,30 @@ public class Image
|
||||
[JsonProperty("hit")]
|
||||
public int Hit { get; init; }
|
||||
|
||||
//TODO: add additional fields
|
||||
[JsonProperty("file")]
|
||||
public string? File { get; init; }
|
||||
|
||||
[JsonProperty("name")]
|
||||
public string? Name { get; init; }
|
||||
|
||||
[JsonProperty("comment")]
|
||||
public string? Comment { get; init; }
|
||||
|
||||
[JsonProperty("date_creation")]
|
||||
public DateTime? DateCreation { get; init; }
|
||||
|
||||
[JsonProperty("date_available")]
|
||||
public DateTime? DateAvailable { get; init; }
|
||||
|
||||
[JsonProperty("page_url")]
|
||||
public string? PageUrl { get; init; }
|
||||
|
||||
[JsonProperty("element_url")]
|
||||
public string? ElementUrl { get; init; }
|
||||
|
||||
[JsonProperty("derivatives")]
|
||||
public IDictionary<string, ImageDerivative>? Derivatives { get; init; }
|
||||
|
||||
[JsonProperty("categories")]
|
||||
public IReadOnlyCollection<ImageAlbum>? Albums { get; init; }
|
||||
}
|
15
PiwigoDotnet/Piwigo.Client/Contract/ImageAlbum.cs
Normal file
15
PiwigoDotnet/Piwigo.Client/Contract/ImageAlbum.cs
Normal file
@ -0,0 +1,15 @@
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Piwigo.Client.Contract;
|
||||
|
||||
public class ImageAlbum
|
||||
{
|
||||
[JsonProperty("id")]
|
||||
public int Id { get; init; }
|
||||
|
||||
[JsonProperty("url")]
|
||||
public string? Url { get; init; }
|
||||
|
||||
[JsonProperty("page_url")]
|
||||
public string? PageUrl { get; init; }
|
||||
}
|
15
PiwigoDotnet/Piwigo.Client/Contract/ImageDerivative.cs
Normal file
15
PiwigoDotnet/Piwigo.Client/Contract/ImageDerivative.cs
Normal file
@ -0,0 +1,15 @@
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Piwigo.Client.Contract;
|
||||
|
||||
public class ImageDerivative
|
||||
{
|
||||
[JsonProperty("url")]
|
||||
public string? Url { get; init; }
|
||||
|
||||
[JsonProperty("width")]
|
||||
public int? Width { get; init; }
|
||||
|
||||
[JsonProperty("height")]
|
||||
public int? Height { get; init; }
|
||||
}
|
Loading…
Reference in New Issue
Block a user