From 81bd28c3d5869d8fcb00525fdc243517ab26abae Mon Sep 17 00:00:00 2001 From: Thiago Cardoso Date: Mon, 15 Jul 2024 21:13:27 -0300 Subject: [PATCH] feat!: remove GetSignupAssessment The endpoint represented by this method was discontinued. --- README.md | 9 ----- incognia.go | 31 ---------------- incognia_test.go | 97 +----------------------------------------------- 3 files changed, 2 insertions(+), 135 deletions(-) diff --git a/README.md b/README.md index 0e4a8b9..5722a58 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 f5dbddd..c2d8160 100644 --- a/incognia.go +++ b/incognia.go @@ -141,37 +141,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 e913c56..8d31e95 100644 --- a/incognia_test.go +++ b/incognia_test.go @@ -466,10 +466,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) @@ -490,16 +487,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) @@ -513,60 +504,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() @@ -966,8 +903,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) } @@ -1083,34 +1018,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)