64 lines
2.0 KiB
Go
64 lines
2.0 KiB
Go
package api
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/status-im/status-go/protocol/requests"
|
|
)
|
|
|
|
func TestCreateAccountAndLogin(t *testing.T) {
|
|
rootDir := t.TempDir()
|
|
t.Logf("TestCreateAccountAndLogin: rootDir: %s", rootDir)
|
|
|
|
requestJSONTemplateString := `
|
|
{
|
|
"upstreamConfig":"https://eth-archival.rpc.grove.city/v1/3ef2018191814b7e1009b8d9",
|
|
"openseaAPIKey":"",
|
|
"wakuV2Nameserver":"1.1.1.1",
|
|
"mnemonic":null,
|
|
"verifyENSContractAddress":"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",
|
|
"backupDisabledDataDir":"%s",
|
|
"password":"0x20756cad9b728c8225fd8cedb6badaf8731e174506950219ea657cd54f35f46c",
|
|
"displayName":"%s",
|
|
"logEnabled":true,
|
|
"verifyTransactionChainID":1,
|
|
"currentNetwork":"mainnet_rpc",
|
|
"customizationColor":"blue",
|
|
"emoji": "some",
|
|
"previewPrivacy":true,
|
|
"verifyTransactionURL":"https://eth-archival.rpc.grove.city/v1/3ef2018191814b7e1009b8d9",
|
|
"imagePath":null,
|
|
"verifyENSURL":"https://eth-archival.rpc.grove.city/v1/3ef2018191814b7e1009b8d9",
|
|
"logLevel":"INFO",
|
|
"logFilePath":"%s",
|
|
"networkId":1
|
|
}
|
|
`
|
|
requestJSON := fmt.Sprintf(requestJSONTemplateString, rootDir, "user1", rootDir)
|
|
var request requests.CreateAccount
|
|
err := json.Unmarshal([]byte(requestJSON), &request)
|
|
require.NoError(t, err)
|
|
statusBackend := NewGethStatusBackend()
|
|
_, err = statusBackend.CreateAccountAndLogin(&request)
|
|
require.NoError(t, err)
|
|
t.Logf("TestCreateAccountAndLogin: create account user1 and login successfully")
|
|
// wait waku node start working
|
|
time.Sleep(2 * time.Second)
|
|
|
|
t.Logf("TestCreateAccountAndLogin: logouting")
|
|
err = statusBackend.Logout()
|
|
require.NoError(t, err)
|
|
t.Logf("TestCreateAccountAndLogin: logout done")
|
|
|
|
requestJSON = fmt.Sprintf(requestJSONTemplateString, rootDir, "user2", rootDir)
|
|
err = json.Unmarshal([]byte(requestJSON), &request)
|
|
require.NoError(t, err)
|
|
_, err = statusBackend.CreateAccountAndLogin(&request)
|
|
require.NoError(t, err)
|
|
}
|