feat(oonirun): add support for OONIRun v2 links (#844)
This diff adds support for OONIRun v2 links. Part of https://github.com/ooni/probe/issues/2184.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package mocks
|
||||
|
||||
import "github.com/ooni/probe-cli/v3/internal/model"
|
||||
|
||||
// KeyValueStore allows mocking model.KeyValueStore.
|
||||
type KeyValueStore struct {
|
||||
MockGet func(key string) (value []byte, err error)
|
||||
|
||||
MockSet func(key string, value []byte) (err error)
|
||||
}
|
||||
|
||||
var _ model.KeyValueStore = &KeyValueStore{}
|
||||
|
||||
func (kvs *KeyValueStore) Get(key string) (value []byte, err error) {
|
||||
return kvs.MockGet(key)
|
||||
}
|
||||
|
||||
func (kvs *KeyValueStore) Set(key string, value []byte) (err error) {
|
||||
return kvs.MockSet(key, value)
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package mocks
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestKeyValueStore(t *testing.T) {
|
||||
t.Run("Get", func(t *testing.T) {
|
||||
expect := errors.New("mocked error")
|
||||
kvs := &KeyValueStore{
|
||||
MockGet: func(key string) (value []byte, err error) {
|
||||
return nil, expect
|
||||
},
|
||||
}
|
||||
out, err := kvs.Get("antani")
|
||||
if !errors.Is(err, expect) {
|
||||
t.Fatal("unexpected err", err)
|
||||
}
|
||||
if out != nil {
|
||||
t.Fatal("unexpected out")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("Set", func(t *testing.T) {
|
||||
expect := errors.New("mocked error")
|
||||
kvs := &KeyValueStore{
|
||||
MockSet: func(key string, value []byte) (err error) {
|
||||
return expect
|
||||
},
|
||||
}
|
||||
err := kvs.Set("antani", nil)
|
||||
if !errors.Is(err, expect) {
|
||||
t.Fatal("unexpected err", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user