new tests show one case fails
parent
6856882ba8
commit
2d30ee39af
|
|
@ -17,7 +17,8 @@ func testDriver(t *testing.T, d Driver) {
|
||||||
defer can()
|
defer can()
|
||||||
|
|
||||||
key := Key{Namespace: "x/y", Key: "z"}
|
key := Key{Namespace: "x/y", Key: "z"}
|
||||||
value := ValueVersion{Value: []byte(t.Name()), Version: []byte("1")}
|
version := TimeAsVersion(time.Now())
|
||||||
|
value := Value([]byte(t.Name()))
|
||||||
|
|
||||||
t.Run("get does not exist", func(t *testing.T) {
|
t.Run("get does not exist", func(t *testing.T) {
|
||||||
v, err := d.Get(ctx, key)
|
v, err := d.Get(ctx, key)
|
||||||
|
|
@ -30,7 +31,7 @@ func testDriver(t *testing.T, d Driver) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("404 set get", func(t *testing.T) {
|
t.Run("404 set get", func(t *testing.T) {
|
||||||
if err := d.Set(ctx, key, value.Value, value.Version); err != nil {
|
if err := d.Set(ctx, key, value, version); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -38,11 +39,11 @@ func testDriver(t *testing.T, d Driver) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("getting key returned an err: %v", err)
|
t.Errorf("getting key returned an err: %v", err)
|
||||||
}
|
}
|
||||||
if !bytes.Equal(v.Value, value.Value) {
|
if !bytes.Equal(v.Value, value) {
|
||||||
t.Errorf("value didnt match set-get: want %q, got %q", value.Value, v.Value)
|
t.Errorf("value didnt match set-get: want %q, got %q", value, v.Value)
|
||||||
}
|
}
|
||||||
if !bytes.Equal(v.Version, value.Version) {
|
if !bytes.Equal(v.Version, version) {
|
||||||
t.Errorf("version didnt match set-get: want %q, got %q", value.Version, v.Version)
|
t.Errorf("version didnt match set-get: want %q, got %q", version, v.Version)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := d.Del(ctx, key, nil); err != nil {
|
if err := d.Del(ctx, key, nil); err != nil {
|
||||||
|
|
@ -61,7 +62,7 @@ func testDriver(t *testing.T, d Driver) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("keys of one key", func(t *testing.T) {
|
t.Run("keys of one key", func(t *testing.T) {
|
||||||
if err := d.Set(ctx, key, value.Value, value.Version); err != nil {
|
if err := d.Set(ctx, key, value, version); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer d.Del(ctx, key, nil)
|
defer d.Del(ctx, key, nil)
|
||||||
|
|
@ -72,7 +73,7 @@ func testDriver(t *testing.T, d Driver) {
|
||||||
n += 1
|
n += 1
|
||||||
if got.Key != key {
|
if got.Key != key {
|
||||||
t.Error(got)
|
t.Error(got)
|
||||||
} else if !bytes.Equal(got.Version, value.Version) {
|
} else if !bytes.Equal(got.Version, version) {
|
||||||
t.Error(got)
|
t.Error(got)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -85,34 +86,176 @@ func testDriver(t *testing.T, d Driver) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("conditional set vs nothing", func(t *testing.T) {
|
t.Run("conditional set vs nothing", func(t *testing.T) {
|
||||||
t.Error("not impl")
|
if err := d.Set(ctx, key, value, version); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
defer d.Del(ctx, key, nil)
|
||||||
|
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if !bytes.Equal(got.Value, value) {
|
||||||
|
t.Error(got)
|
||||||
|
} else if !bytes.Equal(got.Version, version) {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("conditional set vs older", func(t *testing.T) {
|
t.Run("conditional set vs older", func(t *testing.T) {
|
||||||
t.Error("not impl")
|
oldValue := []byte("teehee")
|
||||||
|
oldVersion := TimeAsVersion(time.Now().Add(-1 * time.Minute))
|
||||||
|
if err := d.Set(ctx, key, oldValue, oldVersion); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
defer d.Del(ctx, key, nil)
|
||||||
|
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if !bytes.Equal(got.Value, oldValue) {
|
||||||
|
t.Error(got)
|
||||||
|
} else if !bytes.Equal(got.Version, oldVersion) {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := d.Set(ctx, key, value, version); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if !bytes.Equal(got.Value, value) {
|
||||||
|
t.Error(got)
|
||||||
|
} else if !bytes.Equal(got.Version, version) {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("conditional set vs equal", func(t *testing.T) {
|
t.Run("conditional set vs equal", func(t *testing.T) {
|
||||||
t.Error("not impl")
|
oldValue := []byte("teehee")
|
||||||
|
oldVersion := TimeAsVersion(time.Now().Add(-1 * time.Minute))
|
||||||
|
if err := d.Set(ctx, key, oldValue, oldVersion); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
defer d.Del(ctx, key, nil)
|
||||||
|
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if !bytes.Equal(got.Value, oldValue) {
|
||||||
|
t.Error(got)
|
||||||
|
} else if !bytes.Equal(got.Version, oldVersion) {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := d.Set(ctx, key, value, oldVersion); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if !bytes.Equal(got.Value, value) {
|
||||||
|
t.Error(got)
|
||||||
|
} else if !bytes.Equal(got.Version, oldVersion) {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("conditional set vs newer", func(t *testing.T) {
|
t.Run("conditional set vs newer", func(t *testing.T) {
|
||||||
t.Error("not impl")
|
oldValue := []byte("teehee")
|
||||||
|
oldVersion := TimeAsVersion(time.Now().Add(-1 * time.Minute))
|
||||||
|
if err := d.Set(ctx, key, value, version); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
defer d.Del(ctx, key, nil)
|
||||||
|
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if !bytes.Equal(got.Value, value) {
|
||||||
|
t.Error(got)
|
||||||
|
} else if !bytes.Equal(got.Version, version) {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := d.Set(ctx, key, oldValue, oldVersion); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if !bytes.Equal(got.Value, value) {
|
||||||
|
t.Error(got)
|
||||||
|
} else if !bytes.Equal(got.Version, version) {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("conditional del vs nothing", func(t *testing.T) {
|
t.Run("conditional del vs nothing", func(t *testing.T) {
|
||||||
t.Error("not impl")
|
if err := d.Del(ctx, key, version); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("conditional del vs older", func(t *testing.T) {
|
t.Run("conditional del vs older", func(t *testing.T) {
|
||||||
t.Error("not impl")
|
oldValue := []byte("teehee")
|
||||||
|
oldVersion := TimeAsVersion(time.Now().Add(-1 * time.Minute))
|
||||||
|
if err := d.Set(ctx, key, oldValue, oldVersion); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
defer d.Del(ctx, key, nil)
|
||||||
|
|
||||||
|
if err := d.Del(ctx, key, version); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if got.Value != nil {
|
||||||
|
t.Error(got)
|
||||||
|
} else if got.Version != nil {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("conditional del vs equal", func(t *testing.T) {
|
t.Run("conditional del vs equal", func(t *testing.T) {
|
||||||
t.Error("not impl")
|
if err := d.Set(ctx, key, value, version); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
defer d.Del(ctx, key, nil)
|
||||||
|
|
||||||
|
if err := d.Del(ctx, key, version); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if got.Value != nil {
|
||||||
|
t.Error(got)
|
||||||
|
} else if got.Version != nil {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("conditional del vs newer", func(t *testing.T) {
|
t.Run("conditional del vs newer", func(t *testing.T) {
|
||||||
t.Error("not impl")
|
oldVersion := TimeAsVersion(time.Now().Add(-1 * time.Minute))
|
||||||
|
if err := d.Set(ctx, key, value, version); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
defer d.Del(ctx, key, nil)
|
||||||
|
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if !bytes.Equal(got.Value, value) {
|
||||||
|
t.Error(got)
|
||||||
|
} else if !bytes.Equal(got.Version, version) {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := d.Del(ctx, key, oldVersion); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if got, err := d.Get(ctx, key); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
} else if !bytes.Equal(got.Value, value) {
|
||||||
|
t.Error(got)
|
||||||
|
} else if !bytes.Equal(got.Version, version) {
|
||||||
|
t.Error(got)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue