mirror of
https://github.com/photoprism/photoprism.git
synced 2025-09-26 21:01:58 +08:00
47 lines
997 B
Go
47 lines
997 B
Go
package mutex
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestActivity_Running(t *testing.T) {
|
|
b := Activity{}
|
|
|
|
assert.True(t, b.LastRun().IsZero())
|
|
assert.False(t, b.Running())
|
|
assert.False(t, b.Canceled())
|
|
assert.Nil(t, b.Start())
|
|
assert.True(t, b.Running())
|
|
assert.False(t, b.Canceled())
|
|
assert.True(t, b.LastRun().IsZero())
|
|
b.Cancel()
|
|
assert.True(t, b.Canceled())
|
|
assert.True(t, b.Running())
|
|
assert.True(t, b.LastRun().IsZero())
|
|
b.Stop()
|
|
assert.Less(t, time.Now().UTC().Sub(b.LastRun()), time.Second)
|
|
assert.False(t, b.Canceled())
|
|
assert.False(t, b.Running())
|
|
}
|
|
|
|
func TestActivity_Start(t *testing.T) {
|
|
t.Run("cancelled true", func(t *testing.T) {
|
|
b := Activity{canceled: true}
|
|
|
|
assert.Error(t, b.Start(), "still running")
|
|
})
|
|
t.Run("busy true", func(t *testing.T) {
|
|
b := Activity{busy: true}
|
|
|
|
assert.Error(t, b.Start(), "already running")
|
|
})
|
|
t.Run("Success", func(t *testing.T) {
|
|
b := Activity{}
|
|
|
|
assert.Nil(t, b.Start())
|
|
})
|
|
}
|