diff --git a/README.md b/README.md index f5d8738..6b4f247 100644 --- a/README.md +++ b/README.md @@ -138,15 +138,6 @@ assessment, err := client.RegisterSignupWithParams(&incognia.Signup{ }) ``` -### Getting a Signup - -This method allows you to query the latest assessment for a given signup event, returning a `SignupAssessment`, containing the risk assessment and supporting evidence: - -```go -signupID := "c9ac2803-c868-4b7a-8323-8a6b96298ebe" -assessment, err := client.GetSignupAssessment(signupID) -``` - ### Registering Payment This method registers a new payment for the given installation and account, returning a `TransactionAssessment`, containing the risk assessment and supporting evidence. diff --git a/incognia.go b/incognia.go index 731e689..43982da 100644 --- a/incognia.go +++ b/incognia.go @@ -140,37 +140,6 @@ func New(config *IncogniaClientConfig) (*Client, error) { return &Client{clientID: config.ClientID, clientSecret: config.ClientSecret, tokenProvider: tokenProvider, netClient: netClient, endpoints: &endpoints}, nil } -func (c *Client) GetSignupAssessment(signupID string) (ret *SignupAssessment, err error) { - defer func() { - if r := recover(); r != nil { - err = fmt.Errorf("%v", r) - ret = nil - } - }() - - return c.getSignupAssessment(signupID) -} - -func (c *Client) getSignupAssessment(signupID string) (ret *SignupAssessment, err error) { - if signupID == "" { - return nil, ErrMissingSignupID - } - - req, err := http.NewRequest("GET", fmt.Sprintf("%s/%s", c.endpoints.Signups, signupID), nil) - if err != nil { - return nil, err - } - - var signupAssessment SignupAssessment - - err = c.doRequest(req, &signupAssessment) - if err != nil { - return nil, err - } - - return &signupAssessment, nil -} - func (c *Client) RegisterSignup(installationID string, address *Address) (ret *SignupAssessment, err error) { defer func() { if r := recover(); r != nil { diff --git a/incognia_test.go b/incognia_test.go index 27c9599..dedfbd1 100644 --- a/incognia_test.go +++ b/incognia_test.go @@ -463,10 +463,7 @@ func (suite *IncogniaTestSuite) TestManualRefreshTokenProviderErrorTokenNotFound tokenProvider := NewManualRefreshTokenProvider(NewTokenClient(&TokenClientConfig{ClientID: clientID, ClientSecret: clientSecret})) client, _ := New(&IncogniaClientConfig{ClientID: clientID, ClientSecret: clientSecret, TokenProvider: tokenProvider}) - _, err := client.GetSignupAssessment("any-signup-id") - suite.EqualError(err, ErrTokenNotFound.Error()) - - _, err = client.RegisterLogin(loginFixture) + _, err := client.RegisterLogin(loginFixture) suite.EqualError(err, ErrTokenNotFound.Error()) _, err = client.RegisterPayment(paymentFixture) @@ -487,16 +484,10 @@ func (suite *IncogniaTestSuite) TestManualRefreshTokenProviderSuccess() { tokenProvider.Refresh() suite.client = client - signupID := "signup-id" - - signupServer := suite.mockGetSignupsEndpoint(token, signupID, signupAssessmentFixture) - defer signupServer.Close() - _, err := client.GetSignupAssessment(signupID) - suite.NoError(err) loginServer := suite.mockPostTransactionsEndpoint(token, postLoginRequestBodyFixture, transactionAssessmentFixture, emptyQueryString) defer loginServer.Close() - _, err = client.RegisterLogin(loginFixture) + _, err := client.RegisterLogin(loginFixture) suite.NoError(err) paymentServer := suite.mockPostTransactionsEndpoint(token, postPaymentRequestBodyFixture, transactionAssessmentFixture, emptyQueryString) @@ -510,60 +501,6 @@ func (suite *IncogniaTestSuite) TestManualRefreshTokenProviderSuccess() { suite.NoError(err) } -func (suite *IncogniaTestSuite) TestSuccessGetSignupAssessment() { - signupID := "signup-id" - signupServer := suite.mockGetSignupsEndpoint(token, signupID, signupAssessmentFixture) - defer signupServer.Close() - - response, err := suite.client.GetSignupAssessment(signupID) - suite.NoError(err) - suite.Equal(signupAssessmentFixture, response) -} - -func (suite *IncogniaTestSuite) TestSuccessGetSignupAssessmentAfterTokenExpiration() { - signupID := "signup-id" - signupServer := suite.mockGetSignupsEndpoint(token, signupID, signupAssessmentFixture) - defer signupServer.Close() - - response, err := suite.client.GetSignupAssessment(signupID) - suite.NoError(err) - suite.Equal(signupAssessmentFixture, response) - - token, _ := suite.client.tokenProvider.GetToken() - token.(*accessToken).ExpiresIn = 0 - - response, err = suite.client.GetSignupAssessment(signupID) - suite.NoError(err) - suite.Equal(signupAssessmentFixture, response) -} -func (suite *IncogniaTestSuite) TestGetSignupAssessmentEmptySignupId() { - response, err := suite.client.GetSignupAssessment("") - suite.EqualError(err, ErrMissingSignupID.Error()) - suite.Nil(response) -} - -func (suite *IncogniaTestSuite) TestForbiddenGetSignupAssessment() { - signupID := "signup-id" - signupServer := suite.mockGetSignupsEndpoint("some-other-token", signupID, signupAssessmentFixture) - defer signupServer.Close() - - response, err := suite.client.GetSignupAssessment(signupID) - suite.Nil(response) - suite.EqualError(err, "403 Forbidden") -} - -func (suite *IncogniaTestSuite) TestGetSignupAssessmentErrors() { - errors := []int{http.StatusBadRequest, http.StatusInternalServerError} - for _, status := range errors { - statusServer := mockStatusServer(status) - suite.client.endpoints.Signups = statusServer.URL - - response, err := suite.client.GetSignupAssessment("any-signup-id") - suite.Nil(response) - suite.Contains(err.Error(), strconv.Itoa(status)) - } -} - func (suite *IncogniaTestSuite) TestSuccessRegisterSignupWithParams() { signupServer := suite.mockPostSignupsEndpoint(token, postSignupRequestBodyWithAllParamsFixture, signupAssessmentFixture) defer signupServer.Close() @@ -963,8 +900,6 @@ func (suite *IncogniaTestSuite) TestPanic() { suite.Equal(err.Error(), panicString) _, err = suite.client.RegisterSignup("some-installationId", addressFixture) suite.Equal(err.Error(), panicString) - _, err = suite.client.GetSignupAssessment("some-signup-id") - suite.Equal(err.Error(), panicString) _, err = suite.client.RegisterPayment(paymentFixture) suite.Equal(err.Error(), panicString) } @@ -1080,34 +1015,6 @@ func (suite *IncogniaTestSuite) mockPostSignupsEndpoint(expectedToken string, ex return signupsServer } -func (suite *IncogniaTestSuite) mockGetSignupsEndpoint(expectedToken, expectedSignupID string, expectedResponse *SignupAssessment) *httptest.Server { - getSignupsServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("content-type", "application/json") - - if !isRequestAuthorized(r, expectedToken) { - w.WriteHeader(http.StatusForbidden) - return - } - - defer r.Body.Close() - - splitUrl := strings.Split(r.URL.RequestURI(), "/") - requestSignupID := splitUrl[len(splitUrl)-1] - - if requestSignupID == expectedSignupID { - res, _ := json.Marshal(expectedResponse) - w.Write(res) - return - } - - w.WriteHeader(http.StatusNotFound) - })) - - suite.client.endpoints.Signups = getSignupsServer.URL - - return getSignupsServer -} - func isRequestAuthorized(request *http.Request, expectedToken string) bool { tokenType, token := readAuthorizationHeader(request)