mirror of
https://github.com/cirruslabs/orchard.git
synced 2026-09-29 19:41:15 +02:00
* Worker: introduce automatic "org.cirruslabs.orchard.worker-name" label * TestLabelsCopy: use constants to fix linter error
82 lines
2.0 KiB
Go
82 lines
2.0 KiB
Go
package v1_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
v1 "github.com/cirruslabs/orchard/pkg/resource/v1"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestLabelsMatch(t *testing.T) {
|
|
// Two nil labels
|
|
a := v1.Labels(nil)
|
|
b := v1.Labels(nil)
|
|
require.True(t, a.Contains(b))
|
|
require.True(t, b.Contains(a))
|
|
|
|
// Two empty labels
|
|
a = map[string]string{}
|
|
b = map[string]string{}
|
|
require.True(t, a.Contains(b))
|
|
require.True(t, b.Contains(a))
|
|
|
|
// Two identical labels
|
|
a = map[string]string{"foo": "bar"}
|
|
b = map[string]string{"foo": "bar"}
|
|
require.True(t, a.Contains(b))
|
|
require.True(t, b.Contains(a))
|
|
|
|
// Supersets against nil labels
|
|
a = v1.Labels(nil)
|
|
b = map[string]string{"baz": "qux", "foo": "bar"}
|
|
require.False(t, a.Contains(b))
|
|
require.True(t, b.Contains(a))
|
|
|
|
// Superset against empty labels
|
|
a = map[string]string{}
|
|
b = map[string]string{"baz": "qux", "foo": "bar"}
|
|
require.False(t, a.Contains(b))
|
|
require.True(t, b.Contains(a))
|
|
|
|
// Superset against subset labels
|
|
a = map[string]string{"foo": "bar"}
|
|
b = map[string]string{"baz": "qux", "foo": "bar"}
|
|
require.False(t, a.Contains(b))
|
|
require.True(t, b.Contains(a))
|
|
}
|
|
|
|
func TestLabelsCopy(t *testing.T) {
|
|
original := v1.Labels{"foo": "bar"}
|
|
copied := original.Copy()
|
|
copied["foo"] = "changed"
|
|
|
|
require.Equal(t, v1.Labels{"foo": "bar"}, original)
|
|
require.Equal(t, v1.Labels{"foo": "changed"}, copied)
|
|
require.NotNil(t, v1.Labels(nil).Copy())
|
|
}
|
|
|
|
func TestLabelsMerged(t *testing.T) {
|
|
const (
|
|
originalValue = "original"
|
|
overriddenKey = "overridden"
|
|
overrideValue = "override"
|
|
)
|
|
|
|
original := v1.Labels{
|
|
"preserved": originalValue,
|
|
overriddenKey: originalValue,
|
|
}
|
|
overrides := v1.Labels{
|
|
"added": overrideValue,
|
|
overriddenKey: overrideValue,
|
|
}
|
|
|
|
require.Equal(t, v1.Labels{
|
|
"added": overrideValue,
|
|
overriddenKey: overrideValue,
|
|
"preserved": originalValue,
|
|
}, original.Merged(overrides))
|
|
require.Equal(t, originalValue, original[overriddenKey])
|
|
require.Equal(t, overrideValue, overrides[overriddenKey])
|
|
}
|