20497: Give brief instructions for reviewing subprocess output
[arvados.git] / lib / controller / localdb / log_activity_test.go
index 6a9bc45e10c297cf1ef710174bb00eb27909b685..92624e45081a0f7bb0b012a6bc9342f51392a5b3 100644 (file)
@@ -5,8 +5,11 @@
 package localdb
 
 import (
+       "database/sql"
        "time"
 
+       "git.arvados.org/arvados.git/sdk/go/arvados"
+       "git.arvados.org/arvados.git/sdk/go/arvadostest"
        check "gopkg.in/check.v1"
 )
 
@@ -44,3 +47,28 @@ func (*activityPeriodSuite) TestPeriod(c *check.C) {
                }
        }
 }
+
+func (s *CollectionSuite) TestLogActivity(c *check.C) {
+       starttime := time.Now()
+       s.localdb.activeUsersLock.Lock()
+       s.localdb.activeUsersReset = starttime
+       s.localdb.activeUsersLock.Unlock()
+       for i := 0; i < 2; i++ {
+               logthreshold := time.Now()
+               _, err := s.localdb.CollectionCreate(s.userctx, arvados.CreateOptions{
+                       Attrs: map[string]interface{}{
+                               "name": "test collection",
+                       },
+                       EnsureUniqueName: true,
+               })
+               c.Assert(err, check.IsNil)
+               var uuid string
+               err = s.db.QueryRowContext(s.ctx, `select uuid from logs where object_uuid = $1 and event_at > $2`, arvadostest.ActiveUserUUID, logthreshold.UTC()).Scan(&uuid)
+               if i == 0 {
+                       c.Check(err, check.IsNil)
+                       c.Check(uuid, check.HasLen, 27)
+               } else {
+                       c.Check(err, check.Equals, sql.ErrNoRows)
+               }
+       }
+}