|
35 | 35 | import org.junit.Test; |
36 | 36 |
|
37 | 37 | import java.io.IOException; |
| 38 | +import java.util.HashMap; |
38 | 39 | import java.util.List; |
39 | 40 |
|
40 | 41 | public class JacksonBindingsTest { |
@@ -330,7 +331,7 @@ public void testDateTimeElementDeserialization() throws IOException { |
330 | 331 | } |
331 | 332 |
|
332 | 333 | @Test |
333 | | - public void testAssetElementDeserialization() throws IOException { |
| 334 | + public void testAssetElementWithoutRenditionsDeserialization() throws IOException { |
334 | 335 | AssetsElement assetsElement = objectMapper.readValue( |
335 | 336 | this.getClass().getResource("SampleAssetElement.json"), AssetsElement.class); |
336 | 337 | AssetsElement assetsElement2 = objectMapper.readValue( |
@@ -361,6 +362,89 @@ public void testAssetElementDeserialization() throws IOException { |
361 | 362 | Assert.assertEquals( |
362 | 363 | "https://assets-us-01.kc-usercontent.com:443/38af179c-40ba-42e7-a5ca-33b8cdcc0d45/e700596b-03b0-4cee-ac5c-9212762c027a/coffee-beverages-explained-1080px.jpg", |
363 | 364 | asset.getUrl()); |
| 365 | + Assert.assertNull(asset.renditions); |
| 366 | + } |
| 367 | + |
| 368 | + @Test |
| 369 | + public void testAssetElementWithEmptyRenditionsDeserialization() throws IOException { |
| 370 | + AssetsElement assetsElement = objectMapper.readValue( |
| 371 | + this.getClass().getResource("SampleAssetElementWithEmptyRendition.json"), AssetsElement.class); |
| 372 | + AssetsElement assetsElement2 = objectMapper.readValue( |
| 373 | + this.getClass().getResource("SampleAssetElementWithEmptyRendition.json"), AssetsElement.class); |
| 374 | + Assert.assertNotNull("object failed deserialization", assetsElement); |
| 375 | + Assert.assertNotNull(assetsElement.toString()); |
| 376 | + Assert.assertEquals(assetsElement, assetsElement2); |
| 377 | + Assert.assertEquals(assetsElement.hashCode(), assetsElement2.hashCode()); |
| 378 | + Assert.assertEquals("Teaser image", assetsElement.getName()); |
| 379 | + Assert.assertEquals(1, assetsElement.getValue().size()); |
| 380 | + Asset asset = assetsElement.getValue().get(0); |
| 381 | + Assert.assertNotNull(asset); |
| 382 | + Asset asset2 = Asset.builder() |
| 383 | + .name(asset.getName()) |
| 384 | + .description(asset.getDescription()) |
| 385 | + .size(asset.getSize()) |
| 386 | + .url(asset.getUrl()) |
| 387 | + .type(asset.getType()) |
| 388 | + .height(asset.getHeight()) |
| 389 | + .width(asset.getWidth()) |
| 390 | + .renditions(asset.getRenditions()) |
| 391 | + .build(); |
| 392 | + Assert.assertEquals(asset, asset2); |
| 393 | + Assert.assertEquals(asset.hashCode(), asset2.hashCode()); |
| 394 | + Assert.assertEquals("coffee-beverages-explained-1080px.jpg", asset.getName()); |
| 395 | + Assert.assertEquals("image/jpeg", asset.getType()); |
| 396 | + Assert.assertEquals(90895, asset.getSize().longValue()); |
| 397 | + Assert.assertNull(asset.getDescription()); |
| 398 | + Assert.assertEquals( |
| 399 | + "https://assets-us-01.kc-usercontent.com:443/38af179c-40ba-42e7-a5ca-33b8cdcc0d45/e700596b-03b0-4cee-ac5c-9212762c027a/coffee-beverages-explained-1080px.jpg", |
| 400 | + asset.getUrl()); |
| 401 | + Assert.assertNotNull(asset.getRenditions()); |
| 402 | + Assert.assertTrue(asset.getRenditions().isEmpty()); |
| 403 | + } |
| 404 | + |
| 405 | + @Test |
| 406 | + public void testAssetElementWithRenditionsDeserialization() throws IOException { |
| 407 | + AssetsElement assetsElement = objectMapper.readValue( |
| 408 | + this.getClass().getResource("SampleAssetElementWithRendition.json"), AssetsElement.class); |
| 409 | + AssetsElement assetsElement2 = objectMapper.readValue( |
| 410 | + this.getClass().getResource("SampleAssetElementWithRendition.json"), AssetsElement.class); |
| 411 | + Assert.assertNotNull("object failed deserialization", assetsElement); |
| 412 | + Assert.assertNotNull(assetsElement.toString()); |
| 413 | + Assert.assertEquals(assetsElement, assetsElement2); |
| 414 | + Assert.assertEquals(assetsElement.hashCode(), assetsElement2.hashCode()); |
| 415 | + Assert.assertEquals("Teaser image", assetsElement.getName()); |
| 416 | + Assert.assertEquals(1, assetsElement.getValue().size()); |
| 417 | + Asset asset = assetsElement.getValue().get(0); |
| 418 | + Assert.assertNotNull(asset); |
| 419 | + Asset asset2 = Asset.builder() |
| 420 | + .name(asset.getName()) |
| 421 | + .description(asset.getDescription()) |
| 422 | + .size(asset.getSize()) |
| 423 | + .url(asset.getUrl()) |
| 424 | + .type(asset.getType()) |
| 425 | + .height(asset.getHeight()) |
| 426 | + .width(asset.getWidth()) |
| 427 | + .renditions(asset.getRenditions()) |
| 428 | + .build(); |
| 429 | + Assert.assertEquals(asset, asset2); |
| 430 | + Assert.assertEquals(asset.hashCode(), asset2.hashCode()); |
| 431 | + Assert.assertEquals("coffee-beverages-explained-1080px.jpg", asset.getName()); |
| 432 | + Assert.assertEquals("image/jpeg", asset.getType()); |
| 433 | + Assert.assertEquals(90895, asset.getSize().longValue()); |
| 434 | + Assert.assertNull(asset.getDescription()); |
| 435 | + Assert.assertEquals( |
| 436 | + "https://assets-us-01.kc-usercontent.com:443/38af179c-40ba-42e7-a5ca-33b8cdcc0d45/e700596b-03b0-4cee-ac5c-9212762c027a/coffee-beverages-explained-1080px.jpg", |
| 437 | + asset.getUrl()); |
| 438 | + Assert.assertNotNull(asset.getRenditions()); |
| 439 | + Assert.assertEquals(1, asset.getRenditions().size()); |
| 440 | + AssetRendition expectedRendition = new AssetRendition( |
| 441 | + "dc448f45-161e-4268-8155-b9d9e33497c8", |
| 442 | + "a6d98cd5-8b2c-4e50-99c9-15192bce2490", |
| 443 | + "640", |
| 444 | + "480", |
| 445 | + "w=640&h=480&fit=clip&rect=146,425,788,590" |
| 446 | + ); |
| 447 | + Assert.assertEquals(expectedRendition, asset.getRenditions().get("default")); |
364 | 448 | } |
365 | 449 |
|
366 | 450 | @Test |
|
0 commit comments