implement svg interface in login and signup
This commit is contained in:
40
main_test.go
40
main_test.go
@@ -21,7 +21,7 @@ func TestApi(t *testing.T) {
|
||||
NumbOfKeys: 10,
|
||||
}
|
||||
var customerResp m.CreateNewCustomerResp
|
||||
testApiCall(t, base+api.CreateNewCustomer, newCustomerBody, &customerResp)
|
||||
testApiPost(t, base+api.CreateNewCustomer, newCustomerBody, &customerResp)
|
||||
|
||||
username := m.Username("test_username")
|
||||
signupInterfaceBody := m.GenerateSignupInterfacePost{
|
||||
@@ -31,10 +31,10 @@ func TestApi(t *testing.T) {
|
||||
Username: username,
|
||||
}
|
||||
var signupInterfaceResp m.GenerateSignupInterfaceResp
|
||||
testApiCall(t, base+api.GenerateSignupInterface, signupInterfaceBody, &signupInterfaceResp)
|
||||
|
||||
testApiPost(t, base+api.GenerateSignupInterface, signupInterfaceBody, &signupInterfaceResp)
|
||||
assert.Len(t, signupInterfaceResp.SvgInterface, kp.TotalAttrs())
|
||||
passcodeLen := 4
|
||||
setInterface := signupInterfaceResp.UserInterface
|
||||
setInterface := signupInterfaceResp.UserIdxInterface
|
||||
userPasscode := setInterface[:passcodeLen]
|
||||
kp_set := m.KeypadDimension{NumbOfKeys: kp.NumbOfKeys, AttrsPerKey: kp.NumbOfKeys}
|
||||
setKeySelection, err := m.SelectKeyByAttrIdx(setInterface, userPasscode, kp_set)
|
||||
@@ -45,7 +45,7 @@ func TestApi(t *testing.T) {
|
||||
KeySelection: setKeySelection,
|
||||
}
|
||||
var setNKodeResp m.SetNKodeResp
|
||||
testApiCall(t, base+api.SetNKode, setNKodeBody, &setNKodeResp)
|
||||
testApiPost(t, base+api.SetNKode, setNKodeBody, &setNKodeResp)
|
||||
confirmInterface := setNKodeResp.UserInterface
|
||||
confirmKeySelection, err := m.SelectKeyByAttrIdx(confirmInterface, userPasscode, kp_set)
|
||||
assert.NoError(t, err)
|
||||
@@ -54,7 +54,7 @@ func TestApi(t *testing.T) {
|
||||
KeySelection: confirmKeySelection,
|
||||
SessionId: signupInterfaceResp.SessionId,
|
||||
}
|
||||
testApiCall(t, base+api.ConfirmNKode, confirmNKodeBody, nil)
|
||||
testApiPost(t, base+api.ConfirmNKode, confirmNKodeBody, nil)
|
||||
|
||||
loginInterfaceBody := m.GetLoginInterfacePost{
|
||||
CustomerId: customerResp.CustomerId,
|
||||
@@ -62,9 +62,9 @@ func TestApi(t *testing.T) {
|
||||
}
|
||||
|
||||
var loginInterfaceResp m.GetLoginInterfaceResp
|
||||
testApiCall(t, base+api.GetLoginInterface, loginInterfaceBody, &loginInterfaceResp)
|
||||
testApiPost(t, base+api.GetLoginInterface, loginInterfaceBody, &loginInterfaceResp)
|
||||
|
||||
loginKeySelection, err := m.SelectKeyByAttrIdx(loginInterfaceResp.UserInterface, userPasscode, kp)
|
||||
loginKeySelection, err := m.SelectKeyByAttrIdx(loginInterfaceResp.UserIdxInterface, userPasscode, kp)
|
||||
assert.NoError(t, err)
|
||||
loginBody := m.LoginPost{
|
||||
CustomerId: customerResp.CustomerId,
|
||||
@@ -72,12 +72,12 @@ func TestApi(t *testing.T) {
|
||||
KeySelection: loginKeySelection,
|
||||
}
|
||||
|
||||
testApiCall(t, base+api.Login, loginBody, nil)
|
||||
testApiPost(t, base+api.Login, loginBody, nil)
|
||||
|
||||
renewBody := m.RenewAttributesPost{CustomerId: customerResp.CustomerId}
|
||||
testApiCall(t, base+api.RenewAttributes, renewBody, nil)
|
||||
testApiPost(t, base+api.RenewAttributes, renewBody, nil)
|
||||
|
||||
loginKeySelection, err = m.SelectKeyByAttrIdx(loginInterfaceResp.UserInterface, userPasscode, kp)
|
||||
loginKeySelection, err = m.SelectKeyByAttrIdx(loginInterfaceResp.UserIdxInterface, userPasscode, kp)
|
||||
assert.NoError(t, err)
|
||||
loginBody = m.LoginPost{
|
||||
CustomerId: customerResp.CustomerId,
|
||||
@@ -85,7 +85,12 @@ func TestApi(t *testing.T) {
|
||||
KeySelection: loginKeySelection,
|
||||
}
|
||||
|
||||
testApiCall(t, base+api.Login, loginBody, nil)
|
||||
testApiPost(t, base+api.Login, loginBody, nil)
|
||||
|
||||
var randomSvgInterfaceResp m.RandomSvgInterfaceResp
|
||||
testApiGet(t, base+api.RandomSvgInterface, &randomSvgInterfaceResp)
|
||||
assert.Equal(t, m.KeypadMax.TotalAttrs(), len(randomSvgInterfaceResp.Svgs))
|
||||
|
||||
}
|
||||
|
||||
func Unmarshal(t *testing.T, resp *http.Response, data any) {
|
||||
@@ -102,7 +107,7 @@ func Marshal(t *testing.T, data any) *bytes.Reader {
|
||||
return reader
|
||||
}
|
||||
|
||||
func testApiCall(t *testing.T, endpointStr string, postBody any, respBody any) {
|
||||
func testApiPost(t *testing.T, endpointStr string, postBody any, respBody any) {
|
||||
reader := Marshal(t, postBody)
|
||||
resp, err := http.Post(endpointStr, "application/json", reader)
|
||||
assert.NoError(t, err)
|
||||
@@ -111,3 +116,12 @@ func testApiCall(t *testing.T, endpointStr string, postBody any, respBody any) {
|
||||
Unmarshal(t, resp, respBody)
|
||||
}
|
||||
}
|
||||
|
||||
func testApiGet(t *testing.T, endpointStr string, respBody any) {
|
||||
resp, err := http.Get(endpointStr)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, resp.StatusCode, http.StatusOK)
|
||||
if respBody != nil {
|
||||
Unmarshal(t, resp, respBody)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user