Test anonymous user is same as non-tier user

This commit is contained in:
binwiederhier 2023-01-28 21:27:05 -05:00
parent 92d563371c
commit 0e36ac84d8
5 changed files with 90 additions and 10 deletions

View file

@ -1785,10 +1785,45 @@ func TestServer_PublishWhileUpdatingStatsWithLotsOfMessages(t *testing.T) {
log.Info("Done: Publishing message; took %s", time.Since(start).Round(time.Millisecond))
// Wait for all goroutines
<-statsChan
select {
case <-statsChan:
case <-time.After(10 * time.Second):
t.Fatal("Timed out waiting for Go routines")
}
log.Info("Done: Waiting for all locks")
}
func TestServer_AnonymousUser_And_NonTierUser_Are_Same_Visitor(t *testing.T) {
conf := newTestConfigWithAuthFile(t)
s := newTestServer(t, conf)
defer s.closeDatabases()
// Create user without tier
require.Nil(t, s.userManager.AddUser("phil", "phil", user.RoleUser))
// Publish a message (anonymous user)
rr := request(t, s, "POST", "/mytopic", "hi", nil)
require.Equal(t, 200, rr.Code)
// Publish a message (non-tier user)
rr = request(t, s, "POST", "/mytopic", "hi", map[string]string{
"Authorization": util.BasicAuth("phil", "phil"),
})
require.Equal(t, 200, rr.Code)
// User stats (anonymous user)
rr = request(t, s, "GET", "/v1/account", "", nil)
account, _ := util.UnmarshalJSON[apiAccountResponse](io.NopCloser(rr.Body))
require.Equal(t, int64(2), account.Stats.Messages)
// User stats (non-tier user)
rr = request(t, s, "GET", "/v1/account", "", map[string]string{
"Authorization": util.BasicAuth("phil", "phil"),
})
account, _ = util.UnmarshalJSON[apiAccountResponse](io.NopCloser(rr.Body))
require.Equal(t, int64(2), account.Stats.Messages)
}
func newTestConfig(t *testing.T) *Config {
conf := NewConfig()
conf.BaseURL = "http://127.0.0.1:12345"