Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
315 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
/* | ||
* Copyright (c) 2010-2020 Mark Allen, Norbert Bartels. | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in | ||
* all copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
* THE SOFTWARE. | ||
*/ | ||
package com.restfb.types.oembed; | ||
|
||
import com.restfb.Facebook; | ||
import com.restfb.types.AbstractFacebookType; | ||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
public abstract class BaseOEmbed extends AbstractFacebookType { | ||
|
||
/** | ||
* The HTML used to display the page. | ||
*/ | ||
@Getter | ||
@Setter | ||
private String html; | ||
|
||
/** | ||
* The height in pixels required to display the HTML. | ||
*/ | ||
@Getter | ||
@Setter | ||
private Long height; | ||
|
||
/** | ||
* The width in pixels required to display the HTML. | ||
*/ | ||
@Getter | ||
@Setter | ||
private Long width; | ||
|
||
/** | ||
* Name of the provider (Facebook) | ||
*/ | ||
@Getter | ||
@Setter | ||
@Facebook("provider_name") | ||
private String providerName; | ||
|
||
/** | ||
* URL of the provider (Facebook) | ||
*/ | ||
@Getter | ||
@Setter | ||
@Facebook("provider_url") | ||
private String providerUrl; | ||
|
||
/** | ||
* The oEmbed resource type. See https://oembed.com/. | ||
*/ | ||
@Getter | ||
@Setter | ||
private String type; | ||
|
||
/** | ||
* Always 1.0. See https://oembed.com/ | ||
*/ | ||
@Getter | ||
@Setter | ||
private String version; | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/* | ||
* Copyright (c) 2010-2020 Mark Allen, Norbert Bartels. | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in | ||
* all copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
* THE SOFTWARE. | ||
*/ | ||
package com.restfb.types.oembed; | ||
|
||
import com.restfb.types.AbstractFacebookType; | ||
|
||
/** | ||
* Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/oembed-page/">OEmbed Page type</a> | ||
*/ | ||
public class OEmbedPage extends BaseOEmbed { | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
/* | ||
* Copyright (c) 2010-2020 Mark Allen, Norbert Bartels. | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in | ||
* all copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
* THE SOFTWARE. | ||
*/ | ||
package com.restfb.types.oembed; | ||
|
||
import com.restfb.Facebook; | ||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
/** | ||
* Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/oembed-post/">OEmbed Post type</a> | ||
*/ | ||
public class OEmbedPost extends BaseOEmbed { | ||
|
||
/** | ||
* The name of the Facebook user that owns the post. | ||
*/ | ||
@Getter | ||
@Setter | ||
@Facebook("author_name") | ||
private String authorName; | ||
|
||
/** | ||
* A URL for the author/owner of the post. | ||
*/ | ||
@Getter | ||
@Setter | ||
@Facebook("author_url") | ||
private String authorUrl; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
/* | ||
* Copyright (c) 2010-2020 Mark Allen, Norbert Bartels. | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in | ||
* all copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
* THE SOFTWARE. | ||
*/ | ||
package com.restfb.types.oembed; | ||
|
||
import com.restfb.Facebook; | ||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
|
||
/** | ||
* Represents the <a href="https://developers.facebook.com/docs/graph-api/reference/oembed-video/">OEmbed Video type</a> | ||
*/ | ||
public class OEmbedVideo extends BaseOEmbed { | ||
|
||
/** | ||
* The name of the Facebook user that owns the video. | ||
*/ | ||
@Getter | ||
@Setter | ||
@Facebook("author_name") | ||
private String authorName; | ||
|
||
/** | ||
* A URL for the author/owner of the video. | ||
*/ | ||
@Getter | ||
@Setter | ||
@Facebook("author_url") | ||
private String authorUrl; | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
/* | ||
* Copyright (c) 2010-2020 Mark Allen, Norbert Bartels. | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in | ||
* all copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
* THE SOFTWARE. | ||
*/ | ||
package com.restfb.types.oembed; | ||
|
||
import static org.junit.jupiter.api.Assertions.assertEquals; | ||
import static org.junit.jupiter.api.Assertions.assertNotNull; | ||
|
||
import org.junit.jupiter.api.Test; | ||
|
||
import com.restfb.AbstractJsonMapperTests; | ||
|
||
public class OembedTest extends AbstractJsonMapperTests { | ||
|
||
@Test | ||
void oembedPage() { | ||
OEmbedPage page = createJsonMapper().toJavaObject(jsonFromClasspath("v8_0/oembed_page"), OEmbedPage.class); | ||
baseOEmbedChecks(page); | ||
assertEquals(340, page.getWidth()); | ||
assertEquals(500, page.getHeight()); | ||
} | ||
|
||
@Test | ||
void oembedPost() { | ||
OEmbedPost post = createJsonMapper().toJavaObject(jsonFromClasspath("v8_0/oembed_post"), OEmbedPost.class); | ||
baseOEmbedChecks(post); | ||
assertEquals(552, post.getWidth()); | ||
assertEquals("Test Page", post.getAuthorName()); | ||
assertEquals("https://www.facebook.com/123456789", post.getAuthorUrl()); | ||
} | ||
|
||
@Test | ||
void oembedVideo() { | ||
OEmbedVideo video = createJsonMapper().toJavaObject(jsonFromClasspath("v8_0/oembed_video"), OEmbedVideo.class); | ||
baseOEmbedChecks(video); | ||
assertEquals(552, video.getWidth()); | ||
assertEquals(893, video.getHeight()); | ||
assertEquals("Test Page", video.getAuthorName()); | ||
assertEquals("https://www.facebook.com/123456789", video.getAuthorUrl()); | ||
} | ||
|
||
private void baseOEmbedChecks(BaseOEmbed embed) { | ||
assertNotNull(embed); | ||
assertEquals("Facebook", embed.getProviderName()); | ||
assertEquals("https://www.facebook.com", embed.getProviderUrl()); | ||
assertEquals("rich", embed.getType()); | ||
assertEquals("1.0", embed.getVersion()); | ||
assertEquals("<div id=\"fb-root\">SOME HTML STUFF</div>", embed.getHtml()); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ | ||
"provider_url": "https://www.facebook.com", | ||
"provider_name": "Facebook", | ||
"height": 500, | ||
"html": "<div id=\"fb-root\">SOME HTML Stuff</div>", | ||
"type": "rich", | ||
"version": "1.0", | ||
"width": 340 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
"author_name": "Test Page", | ||
"author_url": "https://www.facebook.com/123456789", | ||
"provider_url": "https://www.facebook.com", | ||
"provider_name": "Facebook", | ||
"html": "<div id=\"fb-root\">SOME HTML STUFF</div>", | ||
"type": "rich", | ||
"version": "1.0", | ||
"width": 552 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
{ | ||
"author_name": "Test Page", | ||
"author_url": "https://www.facebook.com/123456789", | ||
"provider_url": "https://www.facebook.com", | ||
"provider_name": "Facebook", | ||
"html": "<div id=\"fb-root\">SOME HTML STUFF</div>", | ||
"type": "rich", | ||
"version": "1.0", | ||
"height": 893, | ||
"width": 552 | ||
} |