Test Failed
Push — main ( 35e706...ca941c )
by Acho
01:54
created

collection_service_test.go   A

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 28
dl 0
loc 43
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A mtnmomo.TestCollectionService_Token 0 31 1
1
package mtnmomo
2
3
import (
4
	"context"
5
	"net/http"
6
	"testing"
7
8
	"github.com/NdoleStudio/mtnmomo-go/internal/helpers"
9
	"github.com/NdoleStudio/mtnmomo-go/internal/stubs"
10
	"github.com/stretchr/testify/assert"
11
)
12
13
func TestCollectionService_Token(t *testing.T) {
14
	// Setup
15
	t.Parallel()
16
17
	// Arrange
18
	request := http.Request{}
19
	server := helpers.MakeRequestCapturingTestServer(http.StatusOK, stubs.CollectionToken(), &request)
20
	client := New(
21
		WithBaseURL(server.URL),
22
		WithSubscriptionKey(testSubscriptionKey),
23
		WithAPIUser(testAPIUser),
24
		WithAPIKey(testAPIKey),
25
	)
26
27
	// Act
28
	authToken, response, err := client.Collection.Token(context.Background())
29
30
	// Assert
31
	assert.Nil(t, err)
32
33
	username, password, _ := request.BasicAuth()
34
	assert.Equal(t, testAPIUser, username)
35
	assert.Equal(t, testAPIKey, password)
36
	assert.Equal(t, testSubscriptionKey, request.Header.Get(subscriptionKeyHeaderKey))
37
	assert.Equal(t, http.StatusOK, response.HTTPResponse.StatusCode)
38
	assert.Equal(t, 3600, authToken.ExpiresIn)
39
	assert.Equal(t, "access_token", authToken.TokenType)
40
	assert.Equal(t, "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", authToken.AccessToken)
41
42
	// Teardown
43
	server.Close()
44
}
45