Passed
Pull Request — main (#13)
by
unknown
01:30
created

lemonsqueezy.TestLicensesService_ActivateWithError   A

Complexity

Conditions 1

Size

Total Lines 21
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 10
nop 1
dl 0
loc 21
rs 9.9
c 0
b 0
f 0
1
package lemonsqueezy
2
3
import (
4
	"context"
5
	"net/http"
6
	"testing"
7
8
	"github.com/NdoleStudio/lemonsqueezy-go/internal/helpers"
9
	"github.com/NdoleStudio/lemonsqueezy-go/internal/stubs"
10
	"github.com/stretchr/testify/assert"
11
)
12
13
func TestLicensesService_Activate(t *testing.T) {
14
	// Setup
15
	t.Parallel()
16
17
	// Arrange
18
	server := helpers.MakeTestServer(http.StatusOK, stubs.LicenseActivateResponse())
19
	client := New(WithBaseURL(server.URL))
20
21
	// Act
22
	licenseActivation, response, err := client.Licenses.Activate(context.Background(), &LicenseActivateParams{
23
		LicenseKey:   "1234567890",
24
		InstanceName: "test",
25
	})
26
27
	// Assert
28
	assert.Nil(t, err)
29
30
	assert.Equal(t, http.StatusOK, response.HTTPResponse.StatusCode)
31
	assert.Equal(t, stubs.LicenseActivateResponse(), *response.Body)
32
	assert.Equal(t, true, licenseActivation.Activated)
33
34
	// Teardown
35
	server.Close()
36
}
37
38
func TestLicensesService_ActivateWithError(t *testing.T) {
39
	// Setup
40
	t.Parallel()
41
42
	// Arrange
43
	server := helpers.MakeTestServer(http.StatusInternalServerError, nil)
44
	client := New(WithBaseURL(server.URL))
45
46
	// Act
47
	_, response, err := client.Licenses.Activate(context.Background(), &LicenseActivateParams{
48
		LicenseKey:   "1234567890",
49
		InstanceName: "test",
50
	})
51
52
	// Assert
53
	assert.NotNil(t, err)
54
55
	assert.Equal(t, http.StatusInternalServerError, response.HTTPResponse.StatusCode)
56
57
	// Teardown
58
	server.Close()
59
}
60
61
func TestLicensesService_Validate(t *testing.T) {
62
	// Setup
63
	t.Parallel()
64
65
	// Arrange
66
	server := helpers.MakeTestServer(http.StatusOK, stubs.LicenseValidateResponse())
67
	client := New(WithBaseURL(server.URL))
68
69
	// Act
70
	licenseValidation, response, err := client.Licenses.Validate(context.Background(), &LicenseValidateParams{
71
		LicenseKey: "1234567890",
72
		InstanceID: "",
73
	})
74
75
	// Assert
76
	assert.Nil(t, err)
77
78
	assert.Equal(t, http.StatusOK, response.HTTPResponse.StatusCode)
79
	assert.Equal(t, stubs.LicenseValidateResponse(), *response.Body)
80
	assert.Equal(t, true, licenseValidation.Valid)
81
82
	// Teardown
83
	server.Close()
84
}
85
86
func TestLicensesService_ValidateWithError(t *testing.T) {
87
	// Setup
88
	t.Parallel()
89
90
	// Arrange
91
	server := helpers.MakeTestServer(http.StatusInternalServerError, nil)
92
	client := New(WithBaseURL(server.URL))
93
94
	// Act
95
	_, response, err := client.Licenses.Validate(context.Background(), &LicenseValidateParams{
96
		LicenseKey: "1234567890",
97
		InstanceID: "",
98
	})
99
100
	// Assert
101
	assert.NotNil(t, err)
102
103
	assert.Equal(t, http.StatusInternalServerError, response.HTTPResponse.StatusCode)
104
105
	// Teardown
106
	server.Close()
107
}
108
109
func TestLicensesService_Deactivate(t *testing.T) {
110
	// Setup
111
	t.Parallel()
112
113
	// Arrange
114
	server := helpers.MakeTestServer(http.StatusOK, stubs.LicenseDeactivateResponse())
115
	client := New(WithBaseURL(server.URL))
116
117
	// Act
118
	licenseDeactivation, response, err := client.Licenses.Deactivate(context.Background(), &LicenseDeactivateParams{
119
		LicenseKey: "1234567890",
120
		InstanceID: "abc123",
121
	})
122
123
	// Assert
124
	assert.Nil(t, err)
125
126
	assert.Equal(t, http.StatusOK, response.HTTPResponse.StatusCode)
127
	assert.Equal(t, stubs.LicenseDeactivateResponse(), *response.Body)
128
	assert.Equal(t, true, licenseDeactivation.Deactivated)
129
130
	// Teardown
131
	server.Close()
132
}
133
134
func TestLicensesService_DeactivateWithError(t *testing.T) {
135
	// Setup
136
	t.Parallel()
137
138
	// Arrange
139
	server := helpers.MakeTestServer(http.StatusInternalServerError, nil)
140
	client := New(WithBaseURL(server.URL))
141
142
	// Act
143
	_, response, err := client.Licenses.Deactivate(context.Background(), &LicenseDeactivateParams{
144
		LicenseKey: "1234567890",
145
		InstanceID: "abc123",
146
	})
147
148
	// Assert
149
	assert.NotNil(t, err)
150
151
	assert.Equal(t, http.StatusInternalServerError, response.HTTPResponse.StatusCode)
152
153
	// Teardown
154
	server.Close()
155
}
156