queryx: Add test to check that all methods are wrapped

Signed-off-by: Michał Matczuk <michal@scylladb.com>
This commit is contained in:
Michał Matczuk
2020-04-21 15:34:28 +02:00
committed by Michal Jan Matczuk
parent 6f3b4bc8e5
commit 33e08981ad

View File

@@ -5,8 +5,10 @@
package gocqlx package gocqlx
import ( import (
"reflect"
"testing" "testing"
"github.com/gocql/gocql"
"github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp"
) )
@@ -149,3 +151,25 @@ func TestQueryxBindMap(t *testing.T) {
} }
}) })
} }
func TestQyeryxAllWrapped(t *testing.T) {
var (
gocqlQueryPtr = reflect.TypeOf((*gocql.Query)(nil))
queryxPtr = reflect.TypeOf((*Queryx)(nil))
)
for i := 0; i < gocqlQueryPtr.NumMethod(); i++ {
m, ok := queryxPtr.MethodByName(gocqlQueryPtr.Method(i).Name)
if !ok {
t.Fatalf("Queryx missing method %s", gocqlQueryPtr.Method(i).Name)
}
t.Log(m.Name)
for j := 0; j < m.Type.NumOut(); j++ {
if m.Type.Out(j) == gocqlQueryPtr {
t.Errorf("Queryx method %s not wrapped", m.Name)
}
}
}
}