mirror of https://github.com/databricks/cli.git
41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
package terraform
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
"testing"
|
|
"testing/iotest"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestLocalStateIsNewer(t *testing.T) {
|
|
local := strings.NewReader(`{"serial": 5}`)
|
|
remote := strings.NewReader(`{"serial": 4}`)
|
|
assert.False(t, IsLocalStateStale(local, remote))
|
|
}
|
|
|
|
func TestLocalStateIsOlder(t *testing.T) {
|
|
local := strings.NewReader(`{"serial": 5}`)
|
|
remote := strings.NewReader(`{"serial": 6}`)
|
|
assert.True(t, IsLocalStateStale(local, remote))
|
|
}
|
|
|
|
func TestLocalStateIsTheSame(t *testing.T) {
|
|
local := strings.NewReader(`{"serial": 5}`)
|
|
remote := strings.NewReader(`{"serial": 5}`)
|
|
assert.False(t, IsLocalStateStale(local, remote))
|
|
}
|
|
|
|
func TestLocalStateMarkStaleWhenFailsToLoad(t *testing.T) {
|
|
local := iotest.ErrReader(fmt.Errorf("Random error"))
|
|
remote := strings.NewReader(`{"serial": 5}`)
|
|
assert.True(t, IsLocalStateStale(local, remote))
|
|
}
|
|
|
|
func TestLocalStateMarkNonStaleWhenRemoteFailsToLoad(t *testing.T) {
|
|
local := strings.NewReader(`{"serial": 5}`)
|
|
remote := iotest.ErrReader(fmt.Errorf("Random error"))
|
|
assert.False(t, IsLocalStateStale(local, remote))
|
|
}
|