mirror of
https://github.com/photoprism/photoprism.git
synced 2025-12-12 00:34:13 +01:00
You can now run "photoprism auth add" to create new client access tokens that allow external applications to use the built-in REST API. Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
@@ -1,13 +1,15 @@
|
||||
package rnd
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestIsUnique(t *testing.T) {
|
||||
assert.True(t, IsUnique("lt9k3pw1wowuy3c2", 'l'))
|
||||
assert.True(t, IsUnique("ls6sg1e1wowuy3c2", 'l'))
|
||||
assert.True(t, IsUnique("dafbfeb8-a129-4e7c-9cf0-e7996a701cdb", 'l'))
|
||||
assert.True(t, IsUnique("6ba7b810-9dad-11d1-80b4-00c04fd430c8", 'l'))
|
||||
assert.True(t, IsUnique("55785BAC-9A4B-4747-B090-EE123FFEE437", 'l'))
|
||||
@@ -27,12 +29,12 @@ func TestIsUID(t *testing.T) {
|
||||
assert.True(t, IsUID(s, prefix))
|
||||
}
|
||||
|
||||
assert.True(t, IsUID("lt9k3pw1wowuy3c2", 'l'))
|
||||
assert.False(t, IsUID("lt9k3pw1wowuy3c2123", 'l'))
|
||||
assert.False(t, IsUID("lt9k3pw1wowuy3c2123", 'l'))
|
||||
assert.False(t, IsUID("lt9k3pw1AAA-owuy3c2123", 'l'))
|
||||
assert.True(t, IsUID("ls6sg1e1wowuy3c2", 'l'))
|
||||
assert.False(t, IsUID("ls6sg1e1wowuy3c2123", 'l'))
|
||||
assert.False(t, IsUID("ls6sg1e1wowuy3c2123", 'l'))
|
||||
assert.False(t, IsUID("ls6sg1e1AAA-owuy3c2123", 'l'))
|
||||
assert.False(t, IsUID("", 'l'))
|
||||
assert.False(t, IsUID("lt9k3pw1w ?owuy 3c2123", 'l'))
|
||||
assert.False(t, IsUID("ls6sg1e1w ?owuy 3c2123", 'l'))
|
||||
assert.False(t, IsUID(RefID(""), 'r'))
|
||||
}
|
||||
|
||||
@@ -44,12 +46,12 @@ func TestInvalidUID(t *testing.T) {
|
||||
assert.False(t, InvalidUID(id, prefix))
|
||||
}
|
||||
|
||||
assert.False(t, InvalidUID("lt9k3pw1wowuy3c2", 'l'))
|
||||
assert.True(t, InvalidUID("lt9k3pw1wowuy3c2123", 'l'))
|
||||
assert.True(t, InvalidUID("lt9k3pw1wowuy3c2123", 'l'))
|
||||
assert.True(t, InvalidUID("lt9k3pw1AAA-owuy3c2123", 'l'))
|
||||
assert.False(t, InvalidUID("ls6sg1e1wowuy3c2", 'l'))
|
||||
assert.True(t, InvalidUID("ls6sg1e1wowuy3c2123", 'l'))
|
||||
assert.True(t, InvalidUID("ls6sg1e1wowuy3c2123", 'l'))
|
||||
assert.True(t, InvalidUID("ls6sg1e1AAA-owuy3c2123", 'l'))
|
||||
assert.True(t, InvalidUID("", 'l'))
|
||||
assert.True(t, InvalidUID("lt9k3pw1w ?owuy 3c2123", 'l'))
|
||||
assert.True(t, InvalidUID("ls6sg1e1w ?owuy 3c2123", 'l'))
|
||||
assert.True(t, InvalidUID(RefID(""), 'r'))
|
||||
}
|
||||
|
||||
@@ -82,3 +84,41 @@ func BenchmarkGenerateUID(b *testing.B) {
|
||||
GenerateUID('x')
|
||||
}
|
||||
}
|
||||
|
||||
func TestGenerateUID_Time(t *testing.T) {
|
||||
t.Run("2017", func(t *testing.T) {
|
||||
date := time.Date(2017, 1, 1, 0, 0, 0, 0, time.UTC)
|
||||
t.Logf("Unix Timestamp: %d", date.Unix())
|
||||
t.Logf("Date Encoded: %s", strconv.FormatInt(date.UTC().Unix(), 36))
|
||||
// coj2qo0...
|
||||
result := generateUID('c', date)
|
||||
t.Logf("2017: %s", result)
|
||||
|
||||
if ts, err := strconv.ParseInt(result[1:7], 36, 64); err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
assert.Equal(t, date.Unix(), ts)
|
||||
t.Logf("UID Timestamp: %d", ts)
|
||||
}
|
||||
|
||||
assert.Equal(t, "coj2qo0", result[:7])
|
||||
})
|
||||
t.Run("Now", func(t *testing.T) {
|
||||
date := time.Now().UTC()
|
||||
t.Logf("Unix Timestamp: %d", date.Unix())
|
||||
t.Logf("Date Encoded: %s", strconv.FormatInt(date.Unix(), 36))
|
||||
// coj2qo0...
|
||||
// cs6sfay
|
||||
result := generateUID('c', date)
|
||||
t.Logf("Now: %s", result)
|
||||
|
||||
if ts, err := strconv.ParseInt(result[1:7], 36, 64); err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
assert.Equal(t, date.Unix(), ts)
|
||||
t.Logf("UID Timestamp: %d", ts)
|
||||
}
|
||||
|
||||
assert.Equal(t, "c", result[:1])
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user