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

mtnmomo.TestCollectionService_Token   A

Complexity

Conditions 1

Size

Total Lines 31
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 20
nop 1
dl 0
loc 31
rs 9.4
c 0
b 0
f 0
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