|
|
@ -25,7 +25,7 @@ import (
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func TestMemoryName(t *testing.T) {
|
|
|
|
func TestMemoryName(t *testing.T) {
|
|
|
|
if mem := NewMemory(); mem.Name() != MemoryDriverName {
|
|
|
|
if mem := NewMemory("default"); mem.Name() != MemoryDriverName {
|
|
|
|
t.Errorf("Expected name to be %q, got %q", MemoryDriverName, mem.Name())
|
|
|
|
t.Errorf("Expected name to be %q, got %q", MemoryDriverName, mem.Name())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -33,23 +33,39 @@ func TestMemoryName(t *testing.T) {
|
|
|
|
func TestMemoryCreate(t *testing.T) {
|
|
|
|
func TestMemoryCreate(t *testing.T) {
|
|
|
|
var tests = []struct {
|
|
|
|
var tests = []struct {
|
|
|
|
desc string
|
|
|
|
desc string
|
|
|
|
|
|
|
|
namespace string
|
|
|
|
rls *rspb.Release
|
|
|
|
rls *rspb.Release
|
|
|
|
err bool
|
|
|
|
err bool
|
|
|
|
}{
|
|
|
|
}{
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"create should success",
|
|
|
|
"create should succeed in default namespace",
|
|
|
|
|
|
|
|
"default",
|
|
|
|
releaseStub("rls-c", 1, "default", rspb.StatusDeployed),
|
|
|
|
releaseStub("rls-c", 1, "default", rspb.StatusDeployed),
|
|
|
|
false,
|
|
|
|
false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"create should fail (release already exists)",
|
|
|
|
"create should fail (release already exists)",
|
|
|
|
|
|
|
|
"default",
|
|
|
|
releaseStub("rls-a", 1, "default", rspb.StatusDeployed),
|
|
|
|
releaseStub("rls-a", 1, "default", rspb.StatusDeployed),
|
|
|
|
true,
|
|
|
|
true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"create should succeed in testing namespace",
|
|
|
|
|
|
|
|
"testing",
|
|
|
|
|
|
|
|
releaseStub("rls-c", 1, "default", rspb.StatusDeployed),
|
|
|
|
|
|
|
|
false,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"create should fail (release already exists) in testing namespace",
|
|
|
|
|
|
|
|
"testing",
|
|
|
|
|
|
|
|
releaseStub("rls-c", 1, "default", rspb.StatusDeployed),
|
|
|
|
|
|
|
|
true,
|
|
|
|
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ts := tsFixtureMemory(t)
|
|
|
|
ts := tsFixtureMemory(t)
|
|
|
|
for _, tt := range tests {
|
|
|
|
for _, tt := range tests {
|
|
|
|
|
|
|
|
ts.SetNamespace(tt.namespace)
|
|
|
|
key := testKey(tt.rls.Name, tt.rls.Version)
|
|
|
|
key := testKey(tt.rls.Name, tt.rls.Version)
|
|
|
|
rls := tt.rls
|
|
|
|
rls := tt.rls
|
|
|
|
|
|
|
|
|
|
|
@ -62,17 +78,21 @@ func TestMemoryCreate(t *testing.T) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func TestMemoryGet(t *testing.T) {
|
|
|
|
func TestMemoryGet(t *testing.T) {
|
|
|
|
|
|
|
|
ts := tsFixtureMemory(t)
|
|
|
|
var tests = []struct {
|
|
|
|
var tests = []struct {
|
|
|
|
desc string
|
|
|
|
desc string
|
|
|
|
|
|
|
|
namespace string
|
|
|
|
key string
|
|
|
|
key string
|
|
|
|
err bool
|
|
|
|
err bool
|
|
|
|
}{
|
|
|
|
}{
|
|
|
|
{"release key should exist", "rls-a.v1", false},
|
|
|
|
{"release key should exist in default namespace", "default", "rls-a.v1", false},
|
|
|
|
{"release key should not exist", "rls-a.v5", true},
|
|
|
|
{"release key should not exist in default namespace", "default", "rls-a.v5", true},
|
|
|
|
|
|
|
|
{"release key should exist in testing namespace", "testing", "rls-a.v1", false},
|
|
|
|
|
|
|
|
{"release key should not exist in testing namespace", "testing", "rls-a.v5", true},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ts := tsFixtureMemory(t)
|
|
|
|
|
|
|
|
for _, tt := range tests {
|
|
|
|
for _, tt := range tests {
|
|
|
|
|
|
|
|
ts.SetNamespace(tt.namespace)
|
|
|
|
if _, err := ts.Get(tt.key); err != nil {
|
|
|
|
if _, err := ts.Get(tt.key); err != nil {
|
|
|
|
if !tt.err {
|
|
|
|
if !tt.err {
|
|
|
|
t.Fatalf("Failed %q to get '%s': %q\n", tt.desc, tt.key, err)
|
|
|
|
t.Fatalf("Failed %q to get '%s': %q\n", tt.desc, tt.key, err)
|
|
|
@ -82,20 +102,36 @@ func TestMemoryGet(t *testing.T) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func TestMemoryQuery(t *testing.T) {
|
|
|
|
func TestMemoryQuery(t *testing.T) {
|
|
|
|
|
|
|
|
ts := tsFixtureMemory(t)
|
|
|
|
|
|
|
|
|
|
|
|
var tests = []struct {
|
|
|
|
var tests = []struct {
|
|
|
|
desc string
|
|
|
|
desc string
|
|
|
|
|
|
|
|
namespace string
|
|
|
|
xlen int
|
|
|
|
xlen int
|
|
|
|
lbs map[string]string
|
|
|
|
lbs map[string]string
|
|
|
|
}{
|
|
|
|
}{
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"should be 2 query results",
|
|
|
|
"should be 2 query results for default namespace",
|
|
|
|
|
|
|
|
"default",
|
|
|
|
2,
|
|
|
|
2,
|
|
|
|
map[string]string{"status": "deployed"},
|
|
|
|
map[string]string{"status": "deployed"},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"should be 1 query result for testing namespace",
|
|
|
|
|
|
|
|
"testing",
|
|
|
|
|
|
|
|
1,
|
|
|
|
|
|
|
|
map[string]string{"status": "deployed"},
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"should be 3 query results for all namespaces",
|
|
|
|
|
|
|
|
"",
|
|
|
|
|
|
|
|
3,
|
|
|
|
|
|
|
|
map[string]string{"status": "deployed"},
|
|
|
|
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ts := tsFixtureMemory(t)
|
|
|
|
|
|
|
|
for _, tt := range tests {
|
|
|
|
for _, tt := range tests {
|
|
|
|
|
|
|
|
ts.SetNamespace(tt.namespace)
|
|
|
|
l, err := ts.Query(tt.lbs)
|
|
|
|
l, err := ts.Query(tt.lbs)
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("Failed to query: %s\n", err)
|
|
|
|
t.Fatalf("Failed to query: %s\n", err)
|
|
|
@ -108,28 +144,47 @@ func TestMemoryQuery(t *testing.T) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func TestMemoryUpdate(t *testing.T) {
|
|
|
|
func TestMemoryUpdate(t *testing.T) {
|
|
|
|
|
|
|
|
ts := tsFixtureMemory(t)
|
|
|
|
|
|
|
|
|
|
|
|
var tests = []struct {
|
|
|
|
var tests = []struct {
|
|
|
|
desc string
|
|
|
|
desc string
|
|
|
|
|
|
|
|
namespace string
|
|
|
|
key string
|
|
|
|
key string
|
|
|
|
rls *rspb.Release
|
|
|
|
rls *rspb.Release
|
|
|
|
err bool
|
|
|
|
err bool
|
|
|
|
}{
|
|
|
|
}{
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"update release status",
|
|
|
|
"update release status which exists in default namespace",
|
|
|
|
|
|
|
|
"default",
|
|
|
|
"rls-a.v4",
|
|
|
|
"rls-a.v4",
|
|
|
|
releaseStub("rls-a", 4, "default", rspb.StatusSuperseded),
|
|
|
|
releaseStub("rls-a", 4, "default", rspb.StatusSuperseded),
|
|
|
|
false,
|
|
|
|
false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"update release status which exists in testing namespace",
|
|
|
|
|
|
|
|
"testing",
|
|
|
|
|
|
|
|
"rls-a.v1",
|
|
|
|
|
|
|
|
releaseStub("rls-a", 1, "default", rspb.StatusSuperseded),
|
|
|
|
|
|
|
|
false,
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"update release does not exist",
|
|
|
|
"update release does not exist",
|
|
|
|
|
|
|
|
"default",
|
|
|
|
|
|
|
|
"rls-z.v1",
|
|
|
|
|
|
|
|
releaseStub("rls-z", 1, "default", rspb.StatusUninstalled),
|
|
|
|
|
|
|
|
true,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"update release does not exist",
|
|
|
|
|
|
|
|
"testing",
|
|
|
|
"rls-z.v1",
|
|
|
|
"rls-z.v1",
|
|
|
|
releaseStub("rls-z", 1, "default", rspb.StatusUninstalled),
|
|
|
|
releaseStub("rls-z", 1, "default", rspb.StatusUninstalled),
|
|
|
|
true,
|
|
|
|
true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ts := tsFixtureMemory(t)
|
|
|
|
|
|
|
|
for _, tt := range tests {
|
|
|
|
for _, tt := range tests {
|
|
|
|
|
|
|
|
ts.SetNamespace(tt.namespace)
|
|
|
|
if err := ts.Update(tt.key, tt.rls); err != nil {
|
|
|
|
if err := ts.Update(tt.key, tt.rls); err != nil {
|
|
|
|
if !tt.err {
|
|
|
|
if !tt.err {
|
|
|
|
t.Fatalf("Failed %q: %s\n", tt.desc, err)
|
|
|
|
t.Fatalf("Failed %q: %s\n", tt.desc, err)
|
|
|
@ -151,20 +206,26 @@ func TestMemoryUpdate(t *testing.T) {
|
|
|
|
func TestMemoryDelete(t *testing.T) {
|
|
|
|
func TestMemoryDelete(t *testing.T) {
|
|
|
|
var tests = []struct {
|
|
|
|
var tests = []struct {
|
|
|
|
desc string
|
|
|
|
desc string
|
|
|
|
|
|
|
|
namespace string
|
|
|
|
key string
|
|
|
|
key string
|
|
|
|
err bool
|
|
|
|
err bool
|
|
|
|
}{
|
|
|
|
}{
|
|
|
|
{"release key should exist", "rls-a.v1", false},
|
|
|
|
{"release key should exist in default namespace", "default", "rls-a.v1", false},
|
|
|
|
{"release key should not exist", "rls-a.v5", true},
|
|
|
|
{"release key should not exist in default namespace", "default", "rls-a.v5", true},
|
|
|
|
|
|
|
|
{"release key should exist in testing namespace", "testing", "rls-a.v1", false},
|
|
|
|
|
|
|
|
{"release key should not exist in testing namespace", "testing", "rls-a.v5", true},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ts := tsFixtureMemory(t)
|
|
|
|
ts := tsFixtureMemory(t)
|
|
|
|
|
|
|
|
// all namespaces
|
|
|
|
|
|
|
|
ts.namespace = ""
|
|
|
|
start, err := ts.Query(map[string]string{"name": "rls-a"})
|
|
|
|
start, err := ts.Query(map[string]string{"name": "rls-a"})
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
t.Errorf("Query failed: %s", err)
|
|
|
|
t.Errorf("Query failed: %s", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
startLen := len(start)
|
|
|
|
startLen := len(start)
|
|
|
|
for _, tt := range tests {
|
|
|
|
for _, tt := range tests {
|
|
|
|
|
|
|
|
ts.SetNamespace(tt.namespace)
|
|
|
|
if rel, err := ts.Delete(tt.key); err != nil {
|
|
|
|
if rel, err := ts.Delete(tt.key); err != nil {
|
|
|
|
if !tt.err {
|
|
|
|
if !tt.err {
|
|
|
|
t.Fatalf("Failed %q to get '%s': %q\n", tt.desc, tt.key, err)
|
|
|
|
t.Fatalf("Failed %q to get '%s': %q\n", tt.desc, tt.key, err)
|
|
|
@ -179,6 +240,8 @@ func TestMemoryDelete(t *testing.T) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// all namespaces
|
|
|
|
|
|
|
|
ts.namespace = ""
|
|
|
|
// Make sure that the deleted records are gone.
|
|
|
|
// Make sure that the deleted records are gone.
|
|
|
|
end, err := ts.Query(map[string]string{"name": "rls-a"})
|
|
|
|
end, err := ts.Query(map[string]string{"name": "rls-a"})
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|