gopkg.in/rethinkdb/rethinkdb-go.v6@v6.2.2/internal/integration/reql_tests/reql_datum_object_test.go (about) 1 // Code generated by gen_tests.py and process_polyglot.py. 2 // Do not edit this file directly. 3 // The template for this file is located at: 4 // ../template.go.tpl 5 package reql_tests 6 7 import ( 8 "testing" 9 "time" 10 11 "github.com/stretchr/testify/suite" 12 r "gopkg.in/rethinkdb/rethinkdb-go.v6" 13 "gopkg.in/rethinkdb/rethinkdb-go.v6/internal/compare" 14 ) 15 16 // Tests conversion to and from the RQL object type 17 func TestDatumObjectSuite(t *testing.T) { 18 suite.Run(t, new(DatumObjectSuite)) 19 } 20 21 type DatumObjectSuite struct { 22 suite.Suite 23 24 session *r.Session 25 } 26 27 func (suite *DatumObjectSuite) SetupTest() { 28 suite.T().Log("Setting up DatumObjectSuite") 29 // Use imports to prevent errors 30 _ = time.Time{} 31 _ = compare.AnythingIsFine 32 33 session, err := r.Connect(r.ConnectOpts{ 34 Address: url, 35 }) 36 suite.Require().NoError(err, "Error returned when connecting to server") 37 suite.session = session 38 39 r.DBDrop("test").Exec(suite.session) 40 err = r.DBCreate("test").Exec(suite.session) 41 suite.Require().NoError(err) 42 err = r.DB("test").Wait().Exec(suite.session) 43 suite.Require().NoError(err) 44 45 } 46 47 func (suite *DatumObjectSuite) TearDownSuite() { 48 suite.T().Log("Tearing down DatumObjectSuite") 49 50 if suite.session != nil { 51 r.DB("rethinkdb").Table("_debug_scratch").Delete().Exec(suite.session) 52 r.DBDrop("test").Exec(suite.session) 53 54 suite.session.Close() 55 } 56 } 57 58 func (suite *DatumObjectSuite) TestCases() { 59 suite.T().Log("Running DatumObjectSuite: Tests conversion to and from the RQL object type") 60 61 { 62 // datum/object.yaml line #6 63 /* {} */ 64 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{} 65 /* r.expr({}) */ 66 67 suite.T().Log("About to run line #6: r.Expr(map[interface{}]interface{}{})") 68 69 runAndAssert(suite.Suite, expected_, r.Expr(map[interface{}]interface{}{}), suite.session, r.RunOpts{ 70 GeometryFormat: "raw", 71 GroupFormat: "map", 72 }) 73 suite.T().Log("Finished running line #6") 74 } 75 76 { 77 // datum/object.yaml line #11 78 /* {'a':1} */ 79 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"a": 1} 80 /* r.expr({'a':1}) */ 81 82 suite.T().Log("About to run line #11: r.Expr(map[interface{}]interface{}{'a': 1, })") 83 84 runAndAssert(suite.Suite, expected_, r.Expr(map[interface{}]interface{}{"a": 1}), suite.session, r.RunOpts{ 85 GeometryFormat: "raw", 86 GroupFormat: "map", 87 }) 88 suite.T().Log("Finished running line #11") 89 } 90 91 { 92 // datum/object.yaml line #16 93 /* {'a':1, 'b':'two', 'c':True} */ 94 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"a": 1, "b": "two", "c": true} 95 /* r.expr({'a':1, 'b':'two', 'c':True}) */ 96 97 suite.T().Log("About to run line #16: r.Expr(map[interface{}]interface{}{'a': 1, 'b': 'two', 'c': true, })") 98 99 runAndAssert(suite.Suite, expected_, r.Expr(map[interface{}]interface{}{"a": 1, "b": "two", "c": true}), suite.session, r.RunOpts{ 100 GeometryFormat: "raw", 101 GroupFormat: "map", 102 }) 103 suite.T().Log("Finished running line #16") 104 } 105 106 { 107 // datum/object.yaml line #20 108 /* {'a':1} */ 109 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"a": 1} 110 /* r.expr({'a':r.expr(1)}) */ 111 112 suite.T().Log("About to run line #20: r.Expr(map[interface{}]interface{}{'a': r.Expr(1), })") 113 114 runAndAssert(suite.Suite, expected_, r.Expr(map[interface{}]interface{}{"a": r.Expr(1)}), suite.session, r.RunOpts{ 115 GeometryFormat: "raw", 116 GroupFormat: "map", 117 }) 118 suite.T().Log("Finished running line #20") 119 } 120 121 { 122 // datum/object.yaml line #23 123 /* {'a':{'b':[{'c':2}, 'a', 4]}} */ 124 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"a": map[interface{}]interface{}{"b": []interface{}{map[interface{}]interface{}{"c": 2}, "a", 4}}} 125 /* r.expr({'a':{'b':[{'c':2}, 'a', 4]}}) */ 126 127 suite.T().Log("About to run line #23: r.Expr(map[interface{}]interface{}{'a': map[interface{}]interface{}{'b': []interface{}{map[interface{}]interface{}{'c': 2, }, 'a', 4}, }, })") 128 129 runAndAssert(suite.Suite, expected_, r.Expr(map[interface{}]interface{}{"a": map[interface{}]interface{}{"b": []interface{}{map[interface{}]interface{}{"c": 2}, "a", 4}}}), suite.session, r.RunOpts{ 130 GeometryFormat: "raw", 131 GroupFormat: "map", 132 }) 133 suite.T().Log("Finished running line #23") 134 } 135 136 { 137 // datum/object.yaml line #26 138 /* 'OBJECT' */ 139 var expected_ string = "OBJECT" 140 /* r.expr({'a':1}).type_of() */ 141 142 suite.T().Log("About to run line #26: r.Expr(map[interface{}]interface{}{'a': 1, }).TypeOf()") 143 144 runAndAssert(suite.Suite, expected_, r.Expr(map[interface{}]interface{}{"a": 1}).TypeOf(), suite.session, r.RunOpts{ 145 GeometryFormat: "raw", 146 GroupFormat: "map", 147 }) 148 suite.T().Log("Finished running line #26") 149 } 150 151 { 152 // datum/object.yaml line #30 153 /* '{"a":1}' */ 154 var expected_ string = "{\"a\":1}" 155 /* r.expr({'a':1}).coerce_to('string') */ 156 157 suite.T().Log("About to run line #30: r.Expr(map[interface{}]interface{}{'a': 1, }).CoerceTo('string')") 158 159 runAndAssert(suite.Suite, expected_, r.Expr(map[interface{}]interface{}{"a": 1}).CoerceTo("string"), suite.session, r.RunOpts{ 160 GeometryFormat: "raw", 161 GroupFormat: "map", 162 }) 163 suite.T().Log("Finished running line #30") 164 } 165 166 { 167 // datum/object.yaml line #34 168 /* {'a':1} */ 169 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"a": 1} 170 /* r.expr({'a':1}).coerce_to('object') */ 171 172 suite.T().Log("About to run line #34: r.Expr(map[interface{}]interface{}{'a': 1, }).CoerceTo('object')") 173 174 runAndAssert(suite.Suite, expected_, r.Expr(map[interface{}]interface{}{"a": 1}).CoerceTo("object"), suite.session, r.RunOpts{ 175 GeometryFormat: "raw", 176 GroupFormat: "map", 177 }) 178 suite.T().Log("Finished running line #34") 179 } 180 181 { 182 // datum/object.yaml line #37 183 /* [['a',1]] */ 184 var expected_ []interface{} = []interface{}{[]interface{}{"a", 1}} 185 /* r.expr({'a':1}).coerce_to('array') */ 186 187 suite.T().Log("About to run line #37: r.Expr(map[interface{}]interface{}{'a': 1, }).CoerceTo('array')") 188 189 runAndAssert(suite.Suite, expected_, r.Expr(map[interface{}]interface{}{"a": 1}).CoerceTo("array"), suite.session, r.RunOpts{ 190 GeometryFormat: "raw", 191 GroupFormat: "map", 192 }) 193 suite.T().Log("Finished running line #37") 194 } 195 196 { 197 // datum/object.yaml line #66 198 /* {} */ 199 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{} 200 /* r.object() */ 201 202 suite.T().Log("About to run line #66: r.Object()") 203 204 runAndAssert(suite.Suite, expected_, r.Object(), suite.session, r.RunOpts{ 205 GeometryFormat: "raw", 206 GroupFormat: "map", 207 }) 208 suite.T().Log("Finished running line #66") 209 } 210 211 { 212 // datum/object.yaml line #69 213 /* {'a':1,'b':2} */ 214 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"a": 1, "b": 2} 215 /* r.object('a', 1, 'b', 2) */ 216 217 suite.T().Log("About to run line #69: r.Object('a', 1, 'b', 2)") 218 219 runAndAssert(suite.Suite, expected_, r.Object("a", 1, "b", 2), suite.session, r.RunOpts{ 220 GeometryFormat: "raw", 221 GroupFormat: "map", 222 }) 223 suite.T().Log("Finished running line #69") 224 } 225 226 { 227 // datum/object.yaml line #72 228 /* {'cd':3} */ 229 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"cd": 3} 230 /* r.object('c'+'d', 3) */ 231 232 suite.T().Log("About to run line #72: r.Object(r.Add('c', 'd'), 3)") 233 234 runAndAssert(suite.Suite, expected_, r.Object(r.Add("c", "d"), 3), suite.session, r.RunOpts{ 235 GeometryFormat: "raw", 236 GroupFormat: "map", 237 }) 238 suite.T().Log("Finished running line #72") 239 } 240 241 { 242 // datum/object.yaml line #75 243 /* err("ReqlQueryLogicError", "OBJECT expects an even number of arguments (but found 3).", []) */ 244 var expected_ Err = err("ReqlQueryLogicError", "OBJECT expects an even number of arguments (but found 3).") 245 /* r.object('o','d','d') */ 246 247 suite.T().Log("About to run line #75: r.Object('o', 'd', 'd')") 248 249 runAndAssert(suite.Suite, expected_, r.Object("o", "d", "d"), suite.session, r.RunOpts{ 250 GeometryFormat: "raw", 251 GroupFormat: "map", 252 }) 253 suite.T().Log("Finished running line #75") 254 } 255 256 { 257 // datum/object.yaml line #78 258 /* err("ReqlQueryLogicError","Expected type STRING but found NUMBER.",[]) */ 259 var expected_ Err = err("ReqlQueryLogicError", "Expected type STRING but found NUMBER.") 260 /* r.object(1, 1) */ 261 262 suite.T().Log("About to run line #78: r.Object(1, 1)") 263 264 runAndAssert(suite.Suite, expected_, r.Object(1, 1), suite.session, r.RunOpts{ 265 GeometryFormat: "raw", 266 GroupFormat: "map", 267 }) 268 suite.T().Log("Finished running line #78") 269 } 270 271 { 272 // datum/object.yaml line #81 273 /* err("ReqlQueryLogicError","Duplicate key \"e\" in object. (got 4 and 5 as values)",[]) */ 274 var expected_ Err = err("ReqlQueryLogicError", "Duplicate key \"e\" in object. (got 4 and 5 as values)") 275 /* r.object('e', 4, 'e', 5) */ 276 277 suite.T().Log("About to run line #81: r.Object('e', 4, 'e', 5)") 278 279 runAndAssert(suite.Suite, expected_, r.Object("e", 4, "e", 5), suite.session, r.RunOpts{ 280 GeometryFormat: "raw", 281 GroupFormat: "map", 282 }) 283 suite.T().Log("Finished running line #81") 284 } 285 286 { 287 // datum/object.yaml line #84 288 /* err("ReqlQueryLogicError","Expected type DATUM but found DATABASE:",[]) */ 289 var expected_ Err = err("ReqlQueryLogicError", "Expected type DATUM but found DATABASE:") 290 /* r.object('g', r.db('test')) */ 291 292 suite.T().Log("About to run line #84: r.Object('g', r.DB('test'))") 293 294 runAndAssert(suite.Suite, expected_, r.Object("g", r.DB("test")), suite.session, r.RunOpts{ 295 GeometryFormat: "raw", 296 GroupFormat: "map", 297 }) 298 suite.T().Log("Finished running line #84") 299 } 300 }