porting all github actions from bluesky-social/indigo to tangled CI
at main 1.9 kB view raw
1package helpers 2 3import ( 4 "testing" 5 "time" 6 7 "github.com/bluesky-social/indigo/atproto/identity" 8 "github.com/bluesky-social/indigo/atproto/syntax" 9 "github.com/bluesky-social/indigo/automod" 10 "github.com/stretchr/testify/assert" 11) 12 13func TestAccountIsYoungerThan(t *testing.T) { 14 assert := assert.New(t) 15 16 am := automod.AccountMeta{ 17 Identity: &identity.Identity{ 18 DID: syntax.DID("did:plc:abc111"), 19 Handle: syntax.Handle("handle.example.com"), 20 }, 21 Profile: automod.ProfileSummary{}, 22 Private: nil, 23 } 24 now := time.Now() 25 ac := automod.AccountContext{ 26 Account: am, 27 } 28 assert.False(AccountIsYoungerThan(&ac, time.Hour)) 29 assert.False(AccountIsOlderThan(&ac, time.Hour)) 30 31 ac.Account.CreatedAt = &now 32 assert.True(AccountIsYoungerThan(&ac, time.Hour)) 33 assert.False(AccountIsOlderThan(&ac, time.Hour)) 34 35 yesterday := time.Now().Add(-1 * time.Hour * 24) 36 ac.Account.CreatedAt = &yesterday 37 assert.False(AccountIsYoungerThan(&ac, time.Hour)) 38 assert.True(AccountIsOlderThan(&ac, time.Hour)) 39 40 old := time.Date(1990, 1, 1, 0, 0, 0, 0, time.UTC) 41 ac.Account.CreatedAt = &old 42 assert.False(AccountIsYoungerThan(&ac, time.Hour)) 43 assert.False(AccountIsYoungerThan(&ac, time.Hour*24*365*100)) 44 assert.False(AccountIsOlderThan(&ac, time.Hour)) 45 assert.False(AccountIsOlderThan(&ac, time.Hour*24*365*100)) 46 47 future := time.Date(3000, 1, 1, 0, 0, 0, 0, time.UTC) 48 ac.Account.CreatedAt = &future 49 assert.False(AccountIsYoungerThan(&ac, time.Hour)) 50 assert.False(AccountIsOlderThan(&ac, time.Hour)) 51 52 ac.Account.CreatedAt = nil 53 ac.Account.Private = &automod.AccountPrivate{ 54 Email: "account@example.com", 55 IndexedAt: &yesterday, 56 } 57 assert.True(AccountIsYoungerThan(&ac, 48*time.Hour)) 58 assert.False(AccountIsYoungerThan(&ac, time.Hour)) 59 assert.True(AccountIsOlderThan(&ac, time.Hour)) 60 assert.False(AccountIsOlderThan(&ac, 48*time.Hour)) 61}