Disable usage data tracking for server unit tests since they don't properly set up all the tables

This commit is contained in:
David Dworken 2023-09-17 12:41:49 -07:00
parent 713ee96a96
commit 7421a937d1
No known key found for this signature in database
2 changed files with 16 additions and 6 deletions

View File

@ -52,7 +52,7 @@ func TestMain(m *testing.M) {
func TestESubmitThenQuery(t *testing.T) {
// Set up
s := NewServer(DB)
s := NewServer(DB, TrackUsageData(false))
// Register a few devices
userId := data.UserId("key")
@ -152,7 +152,7 @@ func TestESubmitThenQuery(t *testing.T) {
func TestDumpRequestAndResponse(t *testing.T) {
// Set up
s := NewServer(DB)
s := NewServer(DB, TrackUsageData(false))
// Register a first device for two different users
userId := data.UserId("dkey")
@ -319,7 +319,7 @@ func TestDumpRequestAndResponse(t *testing.T) {
func TestDeletionRequests(t *testing.T) {
// Set up
s := NewServer(DB)
s := NewServer(DB, TrackUsageData(false))
// Register two devices for two different users
userId := data.UserId("dkey")
@ -501,7 +501,7 @@ func TestDeletionRequests(t *testing.T) {
}
func TestHealthcheck(t *testing.T) {
s := NewServer(DB)
s := NewServer(DB, TrackUsageData(false))
w := httptest.NewRecorder()
s.healthCheckHandler(w, httptest.NewRequest(http.MethodGet, "/", nil))
if w.Code != 200 {
@ -521,7 +521,7 @@ func TestHealthcheck(t *testing.T) {
func TestLimitRegistrations(t *testing.T) {
// Set up
s := NewServer(DB)
s := NewServer(DB, TrackUsageData(false))
if resp := DB.Exec("DELETE FROM enc_history_entries"); resp.Error != nil {
t.Fatalf("failed to delete enc_history_entries: %v", resp.Error)
@ -550,7 +550,7 @@ func TestLimitRegistrations(t *testing.T) {
func TestCleanDatabaseNoErrors(t *testing.T) {
// Init
s := NewServer(DB)
s := NewServer(DB, TrackUsageData(false))
// Create a user and an entry
userId := data.UserId("dkey")

View File

@ -24,6 +24,7 @@ type Server struct {
isProductionEnvironment bool
isTestEnvironment bool
trackUsageData bool
releaseVersion string
cronFn CronFn
updateInfo shared.UpdateInfo
@ -68,6 +69,12 @@ func IsTestEnvironment(v bool) Option {
}
}
func TrackUsageData(v bool) Option {
return func(s *Server) {
s.trackUsageData = v
}
}
func NewServer(db *database.DB, options ...Option) *Server {
srv := Server{db: db}
for _, option := range options {
@ -339,6 +346,9 @@ func (s *Server) handleNonCriticalError(err error) {
}
func (s *Server) updateUsageData(ctx context.Context, version string, remoteAddr string, userId, deviceId string, numEntriesHandled int, isQuery bool) error {
if !s.trackUsageData {
return nil
}
var usageData []shared.UsageData
usageData, err := s.db.UsageDataFindByUserAndDevice(ctx, userId, deviceId)
if err != nil {