Skip to content

Commit

Permalink
OKTA-289657: Add Factors API Integration Tests (#391)
Browse files Browse the repository at this point in the history
  • Loading branch information
arvindkrishnakumar-okta authored Jun 17, 2020
1 parent 8fbb76f commit b6f0ec9
Showing 1 changed file with 48 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,28 @@ import com.okta.sdk.client.Client
import com.okta.sdk.resource.user.User
import com.okta.sdk.resource.user.factor.ActivateFactorRequest
import com.okta.sdk.resource.user.factor.CallUserFactor
import com.okta.sdk.resource.user.factor.EmailUserFactor
import com.okta.sdk.resource.user.factor.EmailUserFactorProfile
import com.okta.sdk.resource.user.factor.FactorProvider
import com.okta.sdk.resource.user.factor.FactorStatus
import com.okta.sdk.resource.user.factor.FactorType
import com.okta.sdk.resource.user.factor.HardwareUserFactor
import com.okta.sdk.resource.user.factor.HardwareUserFactorProfile
import com.okta.sdk.resource.user.factor.PushUserFactor
import com.okta.sdk.resource.user.factor.SecurityQuestionUserFactor
import com.okta.sdk.resource.user.factor.SecurityQuestionList
import com.okta.sdk.resource.user.factor.SmsUserFactor
import com.okta.sdk.resource.user.factor.TokenUserFactor
import com.okta.sdk.resource.user.factor.TokenUserFactorProfile
import com.okta.sdk.resource.user.factor.TotpUserFactor
import com.okta.sdk.resource.user.factor.U2fUserFactor
import com.okta.sdk.resource.user.factor.U2fUserFactorProfile
import com.okta.sdk.resource.user.factor.UserFactor
import com.okta.sdk.resource.user.factor.UserFactorList
import com.okta.sdk.resource.user.factor.VerifyFactorRequest
import com.okta.sdk.resource.user.factor.VerifyUserFactorResponse
import com.okta.sdk.resource.user.factor.WebUserFactor
import com.okta.sdk.resource.user.factor.WebUserFactorProfile
import com.okta.sdk.tests.it.util.ITSupport
import org.jboss.aerogear.security.otp.Totp
import org.testng.annotations.Test
Expand Down Expand Up @@ -178,6 +189,43 @@ class FactorsIT extends ITSupport {
assertThat response.getFactorResult(), is(VerifyUserFactorResponse.FactorResultEnum.SUCCESS)
}

@Test
void testEmailUserFactor() {
User user = randomUser()
assertThat user.listFactors(), emptyIterable()

EmailUserFactor emailUserFactor = client.instantiate(EmailUserFactor)
.setFactorType(FactorType.EMAIL)
.setProvider(FactorProvider.OKTA)
.setProfile(client.instantiate(EmailUserFactorProfile)
.setEmail(user.getProfile().getEmail()))

assertThat emailUserFactor.id, nullValue()
// enroll and activate
assertThat emailUserFactor, sameInstance(user.enrollFactor(emailUserFactor, false, null, null, true))
assertThat emailUserFactor.getStatus(), is(FactorStatus.ACTIVE)
assertThat emailUserFactor.id, notNullValue()

VerifyFactorRequest request = client.instantiate(VerifyFactorRequest)
VerifyUserFactorResponse response = emailUserFactor.verify(request, null, null)
assertThat response.getFactorResult(), is(VerifyUserFactorResponse.FactorResultEnum.CHALLENGE)
}

@Test
void testGoogleTotpUserFactorCreation() {
User user = randomUser()
assertThat user.listFactors(), emptyIterable()

TokenUserFactor tokenUserFactor = client.instantiate(TokenUserFactor)
.setFactorType(FactorType.TOKEN_SOFTWARE_TOTP)
.setProvider(FactorProvider.GOOGLE)

assertThat tokenUserFactor.id, nullValue()
assertThat tokenUserFactor, sameInstance(user.enrollFactor(tokenUserFactor))
assertThat tokenUserFactor.id, notNullValue()
assertThat tokenUserFactor.getStatus(), is(FactorStatus.PENDING_ACTIVATION)
}

@Test
void deleteFactorTest() {

Expand Down

0 comments on commit b6f0ec9

Please sign in to comment.