Skip to content
This repository was archived by the owner on Dec 12, 2018. It is now read-only.

Commit 72a38af

Browse files
authored
Merge pull request #1146 from stormpath/issue-1140-twitter
Issue 1140 twitter
2 parents 2e02ea6 + b1f9e22 commit 72a38af

23 files changed

+604
-12
lines changed

api/src/main/java/com/stormpath/sdk/provider/FacebookProviderData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
public interface FacebookProviderData extends ProviderData {
2424

2525
/**
26-
* Getter for the Facebook authorization code.
26+
* Getter for the Facebook access token.
2727
*
28-
* @return the Facebook authorization code.
28+
* @return the Facebook access token.
2929
*/
3030
String getAccessToken();
3131

api/src/main/java/com/stormpath/sdk/provider/GithubProviderData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
public interface GithubProviderData extends ProviderData {
2424

2525
/**
26-
* Getter for the Github authorization code.
26+
* Getter for the Github access token.
2727
*
28-
* @return the Github authorization code.
28+
* @return the Github access token.
2929
*/
3030
String getAccessToken();
3131

api/src/main/java/com/stormpath/sdk/provider/LinkedInProviderData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
public interface LinkedInProviderData extends ProviderData {
2424

2525
/**
26-
* Getter for the LinkedIn authorization code.
26+
* Getter for the LinkedIn access token.
2727
*
28-
* @return the LinkedIn authorization code.
28+
* @return the LinkedIn access token.
2929
*/
3030
String getAccessToken();
3131

api/src/main/java/com/stormpath/sdk/provider/Providers.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,14 @@ private Providers() {
8484
* @since 1.0.RC8
8585
*/
8686
public static final SamlRequestFactory SAML = (SamlRequestFactory) Classes.newInstance("com.stormpath.sdk.impl.provider.saml.DefaultSamlRequestFactory");
87+
88+
/**
89+
* Returns a new {@link TwitterRequestFactory} instance, used to construct Twitter requests, like Twitter Account creation and retrieval.
90+
*
91+
* @return a new {@link TwitterRequestFactory} instance, used to construct Twitter requests, like Twitter Account creation and retrieval.
92+
* @since 1.3.0
93+
*/
94+
public static final TwitterRequestFactory TWITTER = (TwitterRequestFactory) Classes.newInstance("com.stormpath.sdk.impl.provider.DefaultTwitterRequestFactory");
95+
8796
}
8897

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.stormpath.sdk.provider;
2+
3+
/**
4+
* Twitter's specific {@link ProviderAccountRequestBuilder} interface.
5+
*
6+
* @since 1.3.0
7+
*/
8+
public interface TwitterAccountRequestBuilder extends ProviderAccountRequestBuilder<TwitterAccountRequestBuilder> {
9+
10+
/**
11+
* Setter for the Provider App access token.
12+
*
13+
* @param accessToken the Provider App access token.
14+
* @return the builder instance for method chaining.
15+
*/
16+
TwitterAccountRequestBuilder setAccessTokenSecret(String accessToken);
17+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.stormpath.sdk.provider;
2+
3+
/**
4+
* Twitter's specific {@link CreateProviderRequestBuilder} interface.
5+
*
6+
* @since 1.3.0
7+
*/
8+
public interface TwitterCreateProviderRequestBuilder extends CreateProviderRequestBuilder<TwitterCreateProviderRequestBuilder> {
9+
10+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.stormpath.sdk.provider;
2+
3+
/**
4+
* A Twitter-specific {@link Provider} Resource.
5+
*
6+
* @since 1.3.0
7+
*/
8+
public interface TwitterProvider extends OAuthProvider {
9+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.stormpath.sdk.provider;
2+
3+
/**
4+
* Twitter-specific {@link com.stormpath.sdk.provider.ProviderData} Resource.
5+
*
6+
* @since 1.3.0
7+
*/
8+
public interface TwitterProviderData extends ProviderData {
9+
10+
/**
11+
* Getter for the Twitter access token.
12+
*
13+
* @return the Twitter access token.
14+
*/
15+
String getAccessToken();
16+
17+
/**
18+
* Getter for the Twitter access token secret.
19+
*
20+
* @return the Twitter access token secret.
21+
*/
22+
String getAccessTokenSecret();
23+
24+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.stormpath.sdk.provider;
2+
3+
/**
4+
* Twitter-specific {@link ProviderRequestFactory} interface.
5+
*
6+
* @since 1.3.0
7+
*/
8+
public interface TwitterRequestFactory extends ProviderRequestFactory<TwitterAccountRequestBuilder, TwitterCreateProviderRequestBuilder> {
9+
}

extensions/httpclient/src/test/groovy/com/stormpath/sdk/client/DirectoryIT.groovy

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,7 @@ import com.stormpath.sdk.mail.EmailStatus
3030
import com.stormpath.sdk.organization.Organization
3131
import com.stormpath.sdk.organization.OrganizationStatus
3232
import com.stormpath.sdk.organization.Organizations
33-
import com.stormpath.sdk.provider.FacebookProvider
34-
import com.stormpath.sdk.provider.GithubProvider
35-
import com.stormpath.sdk.provider.GoogleProvider
36-
import com.stormpath.sdk.provider.LinkedInProvider
37-
import com.stormpath.sdk.provider.Providers
33+
import com.stormpath.sdk.provider.*
3834
import com.stormpath.sdk.provider.saml.SamlProvider
3935
import com.stormpath.sdk.provider.social.SocialUserInfoMappingRules
4036
import com.stormpath.sdk.provider.social.UserInfoMappingRule
@@ -428,6 +424,26 @@ class DirectoryIT extends ClientIT {
428424

429425
}
430426

427+
/**
428+
* @since 1.3.0
429+
*/
430+
@Test
431+
void testCreateTwitterDirectoryWithUserInfoMappingRules() {
432+
Directory dir = client.instantiate(Directory)
433+
dir.name = uniquify("Java SDK: DirectoryIT.testCreateTwitterDirectoryRequest")
434+
435+
def request = Directories.newCreateRequestFor(dir)
436+
.forProvider(Providers.TWITTER.builder()
437+
.setClientId("73i1dq2fko01s2")
438+
.setClientSecret("wJhXc81l63qEOc43")
439+
.setUserInfoMappingRules(buildSampleUserInfoMappingRules()).build()).build()
440+
dir = client.createDirectory(request);
441+
deleteOnTeardown(dir)
442+
assertNotNull dir.href
443+
assertUserInfoMappingRuleWasCreatedAndUpdate((AbstractOAuthProvider<TwitterProvider>) dir.provider)
444+
445+
}
446+
431447
void assertUserInfoMappingRuleWasCreatedAndUpdate(AbstractOAuthProvider provider) {
432448

433449
UserInfoMappingRules rules = provider.getUserInfoMappingRules()

0 commit comments

Comments
 (0)