Skip to content

Commit

Permalink
[#3] .Fix fixed remaining tests
Browse files Browse the repository at this point in the history
  • Loading branch information
ThomasObenaus committed Feb 5, 2020
1 parent e1bc463 commit afa3d24
Showing 1 changed file with 111 additions and 121 deletions.
232 changes: 111 additions & 121 deletions gremtune_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package gremtune

import (
"encoding/json"
"log"
"strconv"
"testing"
"time"
Expand Down Expand Up @@ -36,21 +35,18 @@ type id struct {
}

func truncateData(t *testing.T) {
log.Println("Removing all data from gremlin server started...")
t.Log("Removing all data from gremlin server started...")
_, err := g.Execute(`g.V('1234').drop()`)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

_, err = g.Execute(`g.V('2145').drop()`)
if err != nil {
t.Fatal(err)
}
log.Println("Removing all data from gremlin server completed...")
require.NoError(t, err)
t.Log("Removing all data from gremlin server completed...")
}

func seedData(t *testing.T) {
truncateData(t)
log.Println("Seeding data started...")
t.Log("Seeding data started...")
_, err := g.Execute(`
g.addV('Phil').property(id, '1234').
property('timestamp', '2018-07-01T13:37:45-05:00').
Expand All @@ -64,43 +60,32 @@ func seedData(t *testing.T) {
from('x').
to('y')
`)
if err != nil {
t.Fatal(err)
}
log.Println("Seeding data completed...")
require.NoError(t, err)
t.Log("Seeding data completed...")
}

func truncateBulkData(t *testing.T) {
log.Println("Removing bulk data from gremlin server strated...")
t.Log("Removing bulk data from gremlin server strated...")
_, err := g.Execute(`g.V().hasLabel('EmployeeBulkData').drop().iterate()`)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)

_, err = g.Execute(`g.V().hasLabel('EmployerBulkData').drop()`)
if err != nil {
t.Fatal(err)
}
log.Println("Removing bulk data from gremlin server completed...")
require.NoError(t, err)
t.Log("Removing bulk data from gremlin server completed...")
}

func seedBulkData(t *testing.T) {
truncateBulkData(t)
log.Println("Seeding bulk data started...")
t.Log("Seeding bulk data started...")

_, err := g.Execute(`
g.addV('EmployerBulkData').property(id, '1234567890').property('timestamp', '2018-07-01T13:37:45-05:00').property('source', 'tree')
`)
if err != nil {
t.Fatal(err)
}
_, err := g.Execute("g.addV('EmployerBulkData').property(id, '1234567890').property('timestamp', '2018-07-01T13:37:45-05:00').property('source', 'tree')")
require.NoError(t, err)

for i := 9001; i < 9641; i++ {
_, err = g.Execute("g.addV('EmployeeBulkData').property(id, '" + strconv.Itoa(i) + "').property('timestamp', '2018-07-01T13:37:45-05:00').property('source', 'tree').as('y').addE('employes').from(V('1234567890')).to('y')")
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
}
log.Println("Seeding bulk data completed...")
t.Log("Seeding bulk data completed...")
}

type nodeLabels []string
Expand Down Expand Up @@ -158,6 +143,7 @@ func TestExecuteBulkDataAsync_IT(t *testing.T) {
require.True(t, g.conn.IsConnected())

seedBulkData(t)
defer truncateBulkData(t)
responseChannel := make(chan AsyncResponse, 2)
err := g.ExecuteAsync("g.V().hasLabel('EmployerBulkData').both('employes').hasLabel('EmployeeBulkData').valueMap(true)", responseChannel)
require.NoError(t, err, "Unexpected error from server")
Expand All @@ -178,91 +164,95 @@ func TestExecuteBulkDataAsync_IT(t *testing.T) {
assert.Equal(t, 10, count, "There should only be 10 values")
}

//func TestExecuteWithBindings(t *testing.T) {
// seedData(t)
// r, err := g.ExecuteWithBindings(
// "g.V(x).label()",
// map[string]string{"x": "1234"},
// map[string]string{},
// )
// if err != nil {
// t.Errorf("Unexpected error returned from server err: %v", err.Error())
// } else {
// t.Logf("Execute with bindings get vertex, response: %s \n err: %s", string(r[0].Result.Data), err)
// nl := new(nodeLabels)
// err = json.Unmarshal(r[0].Result.Data, &nl)
// if len(nl.Label) != 1 {
// t.Errorf("There should only be 1 node label, got: %v+", nl)
// }
// expected := "Phil"
// got := nl.Label[0]
// if nl.Label[0] != expected {
// t.Errorf("Unexpected label returned, expected: %s got: %s", expected, got)
// }
// }
//}
//
//func TestExecuteFile(t *testing.T) {
// seedData(t)
// r, err := g.ExecuteFile("scripts/test.groovy")
// if err != nil {
// t.Errorf("Unexpected error returned from server err: %v", err.Error())
// } else {
// t.Logf("ExecuteFile get vertex, response: %s \n err: %s", string(r[0].Result.Data), err)
// nl := new(nodeLabels)
// err = json.Unmarshal(r[0].Result.Data, &nl)
// if len(nl.Label) != 1 {
// t.Errorf("There should only be 1 node label, got: %v+", nl)
// }
// expected := "Vincent"
// got := nl.Label[0]
// if nl.Label[0] != expected {
// t.Errorf("Unexpected label returned, expected: %s got: %s", expected, got)
// }
// }
//}
//
//func TestExecuteFileWithBindings(t *testing.T) {
// seedData(t)
// r, err := g.ExecuteFileWithBindings(
// "scripts/test-wbindings.groovy",
// map[string]string{"x": "2145"},
// map[string]string{},
// )
// if err != nil {
// t.Errorf("Unexpected error returned from server err: %v", err.Error())
// } else {
// t.Logf("ExecuteFileWithBindings get vertex, response: %s \n err: %s", r[0].Result.Data, err)
// nl := new(nodeLabels)
// err = json.Unmarshal(r[0].Result.Data, &nl)
// if len(nl.Label) != 1 {
// t.Errorf("There should only be 1 node label, got: %v+", nl)
// }
// expected := "Vincent"
// got := nl.Label[0]
// if nl.Label[0] != expected {
// t.Errorf("Unexpected label returned, expected: %s got: %s", expected, got)
// }
// }
//}
//
//func TestPoolExecute(t *testing.T) {
// seedData(t)
// r, err := gp.Execute(`g.V('1234').label()`)
// if err != nil {
// t.Errorf("Unexpected error returned from server err: %v", err.Error())
// } else {
// t.Logf("PoolExecute get vertex, response: %s \n err: %s", r[0].Result.Data, err)
// nl := new(nodeLabels)
// err = json.Unmarshal(r[0].Result.Data, &nl)
// if len(nl.Label) != 1 {
// t.Errorf("There should only be 1 node label, got: %v+", nl)
// }
// expected := "Phil"
// got := nl.Label[0]
// if nl.Label[0] != expected {
// t.Errorf("Unexpected label returned, expected: %s got: %s", expected, got)
// }
// }
//}
//
func TestExecuteWithBindings_IT(t *testing.T) {
// This is an integration test and belongs on data filled in
// via seedBulkData()
// As precondition a local gremlin-server has to run listening on port 8182

// ensure that the used gremlin client instance is available
require.NotNil(t, g)
require.True(t, g.conn.IsConnected())

seedData(t)
r, err := g.ExecuteWithBindings(
"g.V(x).label()",
map[string]string{"x": "1234"},
map[string]string{},
)
require.NoError(t, err, "Unexpected error from server")

t.Logf("Execute with bindings get vertex, response: %s \n err: %s", string(r[0].Result.Data), err)
var nl nodeLabels
err = json.Unmarshal(r[0].Result.Data, &nl)
assert.NoError(t, err)
assert.Len(t, nl, 1, "There should only be 1 node label")
assert.Equal(t, "Phil", nl[0])
}

func TestExecuteFile_IT(t *testing.T) {
// This is an integration test and belongs on data filled in
// via seedBulkData()
// As precondition a local gremlin-server has to run listening on port 8182

// ensure that the used gremlin client instance is available
require.NotNil(t, g)
require.True(t, g.conn.IsConnected())
seedData(t)

r, err := g.ExecuteFile("scripts/test.groovy")
require.NoError(t, err, "Unexpected error from server")

t.Logf("ExecuteFile get vertex, response: %s \n err: %s", string(r[0].Result.Data), err)

var nl nodeLabels
err = json.Unmarshal(r[0].Result.Data, &nl)
assert.NoError(t, err)
assert.Len(t, nl, 1, "There should only be 1 node label")
assert.Equal(t, "Vincent", nl[0])
}

func TestExecuteFileWithBindings_IT(t *testing.T) {
// This is an integration test and belongs on data filled in
// via seedBulkData()
// As precondition a local gremlin-server has to run listening on port 8182

// ensure that the used gremlin client instance is available
require.NotNil(t, g)
require.True(t, g.conn.IsConnected())
seedData(t)

r, err := g.ExecuteFileWithBindings(
"scripts/test-wbindings.groovy",
map[string]string{"x": "2145"},
map[string]string{},
)
require.NoError(t, err, "Unexpected error from server")
t.Logf("ExecuteFileWithBindings get vertex, response: %s \n err: %s", r[0].Result.Data, err)

var nl nodeLabels
err = json.Unmarshal(r[0].Result.Data, &nl)
assert.NoError(t, err)
assert.Len(t, nl, 1, "There should only be 1 node label")
assert.Equal(t, "Vincent", nl[0])
}

func TestPoolExecute_IT(t *testing.T) {
// This is an integration test and belongs on data filled in
// via seedBulkData()
// As precondition a local gremlin-server has to run listening on port 8182

// ensure that the used gremlin client instance is available
require.NotNil(t, g)
require.True(t, g.conn.IsConnected())
seedData(t)

r, err := gp.Execute(`g.V('1234').label()`)
require.NoError(t, err, "Unexpected error from server")
t.Logf("PoolExecute get vertex, response: %s \n err: %s", r[0].Result.Data, err)
var nl nodeLabels

err = json.Unmarshal(r[0].Result.Data, &nl)
assert.NoError(t, err)
assert.Len(t, nl, 1, "There should only be 1 node label")
assert.Equal(t, "Phil", nl[0])
}

0 comments on commit afa3d24

Please sign in to comment.