implement sqlite write queue

This commit is contained in:
2024-10-10 15:01:45 -05:00
parent 3574d07997
commit 1e33a81a2c
11 changed files with 225 additions and 192 deletions

View File

@@ -6,8 +6,10 @@ import (
"fmt"
"github.com/stretchr/testify/assert"
"go-nkode/core"
"go-nkode/util"
"io"
"net/http"
"strings"
"testing"
)
@@ -23,12 +25,12 @@ func TestApi(t *testing.T) {
var customerResp core.CreateNewCustomerResp
testApiPost(t, base+core.CreateNewCustomer, newCustomerBody, &customerResp)
username := "test_username@example.com"
userEmail := "test_username" + util.GenerateRandomString(12) + "@example.com"
signupInterfaceBody := core.GenerateSignupRestInterfacePost{
CustomerId: customerResp.CustomerId,
AttrsPerKey: kp.AttrsPerKey,
NumbOfKeys: kp.NumbOfKeys,
UserEmail: username,
UserEmail: strings.ToUpper(userEmail), // should be case-insensitive
Reset: false,
}
var signupInterfaceResp core.GenerateSignupResetInterfaceResp
@@ -59,7 +61,7 @@ func TestApi(t *testing.T) {
loginInterfaceBody := core.GetLoginInterfacePost{
CustomerId: customerResp.CustomerId,
UserEmail: username,
UserEmail: userEmail,
}
var loginInterfaceResp core.GetLoginInterfaceResp
@@ -70,16 +72,16 @@ func TestApi(t *testing.T) {
assert.NoError(t, err)
loginBody := core.LoginPost{
CustomerId: customerResp.CustomerId,
UserEmail: username,
UserEmail: userEmail,
KeySelection: loginKeySelection,
}
var jwtTokens core.AuthenticationTokens
testApiPost(t, base+core.Login, loginBody, &jwtTokens)
refreshClaims, err := core.ParseRefreshToken(jwtTokens.RefreshToken)
assert.Equal(t, refreshClaims.Subject, username)
assert.Equal(t, refreshClaims.Subject, userEmail)
accessClaims, err := core.ParseRefreshToken(jwtTokens.AccessToken)
assert.Equal(t, accessClaims.Subject, username)
assert.Equal(t, accessClaims.Subject, userEmail)
renewBody := core.RenewAttributesPost{CustomerId: customerResp.CustomerId}
testApiPost(t, base+core.RenewAttributes, renewBody, nil)
@@ -87,7 +89,7 @@ func TestApi(t *testing.T) {
assert.NoError(t, err)
loginBody = core.LoginPost{
CustomerId: customerResp.CustomerId,
UserEmail: username,
UserEmail: userEmail,
KeySelection: loginKeySelection,
}
@@ -102,7 +104,7 @@ func TestApi(t *testing.T) {
testApiGet(t, base+core.RefreshToken, &refreshTokenResp, jwtTokens.RefreshToken)
accessClaims, err = core.ParseAccessToken(refreshTokenResp.AccessToken)
assert.NoError(t, err)
assert.Equal(t, accessClaims.Subject, username)
assert.Equal(t, accessClaims.Subject, userEmail)
}
func Unmarshal(t *testing.T, resp *http.Response, data any) {