gopkg.in/rethinkdb/rethinkdb-go.v6@v6.2.2/internal/integration/reql_tests/reql_limits_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 array limit variations 17 func TestLimitsSuite(t *testing.T) { 18 suite.Run(t, new(LimitsSuite)) 19 } 20 21 type LimitsSuite struct { 22 suite.Suite 23 24 session *r.Session 25 } 26 27 func (suite *LimitsSuite) SetupTest() { 28 suite.T().Log("Setting up LimitsSuite") 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 r.DB("test").TableDrop("tbl").Exec(suite.session) 46 err = r.DB("test").TableCreate("tbl").Exec(suite.session) 47 suite.Require().NoError(err) 48 err = r.DB("test").Table("tbl").Wait().Exec(suite.session) 49 suite.Require().NoError(err) 50 } 51 52 func (suite *LimitsSuite) TearDownSuite() { 53 suite.T().Log("Tearing down LimitsSuite") 54 55 if suite.session != nil { 56 r.DB("rethinkdb").Table("_debug_scratch").Delete().Exec(suite.session) 57 r.DB("test").TableDrop("tbl").Exec(suite.session) 58 r.DBDrop("test").Exec(suite.session) 59 60 suite.session.Close() 61 } 62 } 63 64 func (suite *LimitsSuite) TestCases() { 65 suite.T().Log("Running LimitsSuite: Tests array limit variations") 66 67 tbl := r.DB("test").Table("tbl") 68 _ = tbl // Prevent any noused variable errors 69 70 { 71 // limits.yaml line #6 72 /* [1,1,1,1,1,1,1,1] */ 73 var expected_ []interface{} = []interface{}{1, 1, 1, 1, 1, 1, 1, 1} 74 /* r.expr([1,1,1,1]).union([1, 1, 1, 1]) */ 75 76 suite.T().Log("About to run line #6: r.Expr([]interface{}{1, 1, 1, 1}).Union([]interface{}{1, 1, 1, 1})") 77 78 runAndAssert(suite.Suite, expected_, r.Expr([]interface{}{1, 1, 1, 1}).Union([]interface{}{1, 1, 1, 1}), suite.session, r.RunOpts{ 79 ArrayLimit: 8, 80 GeometryFormat: "raw", 81 GroupFormat: "map", 82 }) 83 suite.T().Log("Finished running line #6") 84 } 85 86 { 87 // limits.yaml line #10 88 /* err("ReqlResourceLimitError", "Array over size limit `4`. To raise the number of allowed elements, modify the `array_limit` option to `.run` (not available in the Data Explorer), or use an index.", [0]) */ 89 var expected_ Err = err("ReqlResourceLimitError", "Array over size limit `4`. To raise the number of allowed elements, modify the `array_limit` option to `.run` (not available in the Data Explorer), or use an index.") 90 /* r.expr([1,2,3,4]).union([5, 6, 7, 8]) */ 91 92 suite.T().Log("About to run line #10: r.Expr([]interface{}{1, 2, 3, 4}).Union([]interface{}{5, 6, 7, 8})") 93 94 runAndAssert(suite.Suite, expected_, r.Expr([]interface{}{1, 2, 3, 4}).Union([]interface{}{5, 6, 7, 8}), suite.session, r.RunOpts{ 95 ArrayLimit: 4, 96 GeometryFormat: "raw", 97 GroupFormat: "map", 98 }) 99 suite.T().Log("Finished running line #10") 100 } 101 102 { 103 // limits.yaml line #16 104 /* err("ReqlResourceLimitError", "Array over size limit `4`. To raise the number of allowed elements, modify the `array_limit` option to `.run` (not available in the Data Explorer), or use an index.", [0]) */ 105 var expected_ Err = err("ReqlResourceLimitError", "Array over size limit `4`. To raise the number of allowed elements, modify the `array_limit` option to `.run` (not available in the Data Explorer), or use an index.") 106 /* r.expr([1,2,3,4,5,6,7,8]) */ 107 108 suite.T().Log("About to run line #16: r.Expr([]interface{}{1, 2, 3, 4, 5, 6, 7, 8})") 109 110 runAndAssert(suite.Suite, expected_, r.Expr([]interface{}{1, 2, 3, 4, 5, 6, 7, 8}), suite.session, r.RunOpts{ 111 ArrayLimit: 4, 112 GeometryFormat: "raw", 113 GroupFormat: "map", 114 }) 115 suite.T().Log("Finished running line #16") 116 } 117 118 { 119 // limits.yaml line #22 120 /* err("ReqlQueryLogicError", "Illegal array size limit `-1`. (Must be >= 1.)", []) */ 121 var expected_ Err = err("ReqlQueryLogicError", "Illegal array size limit `-1`. (Must be >= 1.)") 122 /* r.expr([1,2,3,4,5,6,7,8]) */ 123 124 suite.T().Log("About to run line #22: r.Expr([]interface{}{1, 2, 3, 4, 5, 6, 7, 8})") 125 126 runAndAssert(suite.Suite, expected_, r.Expr([]interface{}{1, 2, 3, 4, 5, 6, 7, 8}), suite.session, r.RunOpts{ 127 ArrayLimit: -1, 128 GeometryFormat: "raw", 129 GroupFormat: "map", 130 }) 131 suite.T().Log("Finished running line #22") 132 } 133 134 { 135 // limits.yaml line #27 136 /* err("ReqlQueryLogicError", "Illegal array size limit `0`. (Must be >= 1.)", []) */ 137 var expected_ Err = err("ReqlQueryLogicError", "Illegal array size limit `0`. (Must be >= 1.)") 138 /* r.expr([1,2,3,4,5,6,7,8]) */ 139 140 suite.T().Log("About to run line #27: r.Expr([]interface{}{1, 2, 3, 4, 5, 6, 7, 8})") 141 142 runAndAssert(suite.Suite, expected_, r.Expr([]interface{}{1, 2, 3, 4, 5, 6, 7, 8}), suite.session, r.RunOpts{ 143 ArrayLimit: 0, 144 GeometryFormat: "raw", 145 GroupFormat: "map", 146 }) 147 suite.T().Log("Finished running line #27") 148 } 149 150 // limits.yaml line #33 151 // ten_l = r.expr([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) 152 suite.T().Log("Possibly executing: var ten_l r.Term = r.Expr([]interface{}{1, 2, 3, 4, 5, 6, 7, 8, 9, 10})") 153 154 ten_l := r.Expr([]interface{}{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}) 155 _ = ten_l // Prevent any noused variable errors 156 157 { 158 // limits.yaml line #52 159 /* (null) */ 160 var expected_ interface{} = nil 161 /* tbl.get(0) */ 162 163 suite.T().Log("About to run line #52: tbl.Get(0)") 164 165 runAndAssert(suite.Suite, expected_, tbl.Get(0), suite.session, r.RunOpts{ 166 ArrayLimit: 100001, 167 GeometryFormat: "raw", 168 GroupFormat: "map", 169 }) 170 suite.T().Log("Finished running line #52") 171 } 172 173 { 174 // limits.yaml line #58 175 /* ({'deleted':0,'replaced':0,'unchanged':0,'errors':0,'skipped':0,'inserted':1}) */ 176 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"deleted": 0, "replaced": 0, "unchanged": 0, "errors": 0, "skipped": 0, "inserted": 1} 177 /* tbl.insert({'id':1, 'array':ten_l}) */ 178 179 suite.T().Log("About to run line #58: tbl.Insert(map[interface{}]interface{}{'id': 1, 'array': ten_l, })") 180 181 runAndAssert(suite.Suite, expected_, tbl.Insert(map[interface{}]interface{}{"id": 1, "array": ten_l}), suite.session, r.RunOpts{ 182 GeometryFormat: "raw", 183 GroupFormat: "map", 184 }) 185 suite.T().Log("Finished running line #58") 186 } 187 188 { 189 // limits.yaml line #60 190 /* ({'array':[1,2,3,4,5,6,7,8,9,10],'id':1}) */ 191 var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"array": []interface{}{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, "id": 1} 192 /* tbl.get(1) */ 193 194 suite.T().Log("About to run line #60: tbl.Get(1)") 195 196 runAndAssert(suite.Suite, expected_, tbl.Get(1), suite.session, r.RunOpts{ 197 ArrayLimit: 4, 198 GeometryFormat: "raw", 199 GroupFormat: "map", 200 }) 201 suite.T().Log("Finished running line #60") 202 } 203 204 { 205 // limits.yaml line #67 206 /* 1 */ 207 var expected_ int = 1 208 /* tbl.delete().get_field('deleted') */ 209 210 suite.T().Log("About to run line #67: tbl.Delete().Field('deleted')") 211 212 runAndAssert(suite.Suite, expected_, tbl.Delete().Field("deleted"), suite.session, r.RunOpts{ 213 GeometryFormat: "raw", 214 GroupFormat: "map", 215 }) 216 suite.T().Log("Finished running line #67") 217 } 218 219 // limits.yaml line #71 220 // c = tbl.changes(squash=1000000, changefeed_queue_size=10) 221 suite.T().Log("Possibly executing: var c r.Term = tbl.Changes().OptArgs(r.ChangesOpts{Squash: 1000000, ChangefeedQueueSize: 10, })") 222 223 c := maybeRun(tbl.Changes().OptArgs(r.ChangesOpts{Squash: 1000000, ChangefeedQueueSize: 10}), suite.session, r.RunOpts{}) 224 _ = c // Prevent any noused variable errors 225 226 { 227 // limits.yaml line #73 228 /* 7 */ 229 var expected_ int = 7 230 /* tbl.insert([{'id':0}, {'id':1}, {'id':2}, {'id':3}, {'id':4}, {'id':5}, {'id':6}]).get_field('inserted') */ 231 232 suite.T().Log("About to run line #73: tbl.Insert([]interface{}{map[interface{}]interface{}{'id': 0, }, map[interface{}]interface{}{'id': 1, }, map[interface{}]interface{}{'id': 2, }, map[interface{}]interface{}{'id': 3, }, map[interface{}]interface{}{'id': 4, }, map[interface{}]interface{}{'id': 5, }, map[interface{}]interface{}{'id': 6, }}).Field('inserted')") 233 234 runAndAssert(suite.Suite, expected_, tbl.Insert([]interface{}{map[interface{}]interface{}{"id": 0}, map[interface{}]interface{}{"id": 1}, map[interface{}]interface{}{"id": 2}, map[interface{}]interface{}{"id": 3}, map[interface{}]interface{}{"id": 4}, map[interface{}]interface{}{"id": 5}, map[interface{}]interface{}{"id": 6}}).Field("inserted"), suite.session, r.RunOpts{ 235 GeometryFormat: "raw", 236 GroupFormat: "map", 237 }) 238 suite.T().Log("Finished running line #73") 239 } 240 241 { 242 // limits.yaml line #85 243 /* 7 */ 244 var expected_ int = 7 245 /* tbl.insert([{'id':7}, {'id':8}, {'id':9}, {'id':10}, {'id':11}, {'id':12}, {'id':13}]).get_field('inserted') */ 246 247 suite.T().Log("About to run line #85: tbl.Insert([]interface{}{map[interface{}]interface{}{'id': 7, }, map[interface{}]interface{}{'id': 8, }, map[interface{}]interface{}{'id': 9, }, map[interface{}]interface{}{'id': 10, }, map[interface{}]interface{}{'id': 11, }, map[interface{}]interface{}{'id': 12, }, map[interface{}]interface{}{'id': 13, }}).Field('inserted')") 248 249 runAndAssert(suite.Suite, expected_, tbl.Insert([]interface{}{map[interface{}]interface{}{"id": 7}, map[interface{}]interface{}{"id": 8}, map[interface{}]interface{}{"id": 9}, map[interface{}]interface{}{"id": 10}, map[interface{}]interface{}{"id": 11}, map[interface{}]interface{}{"id": 12}, map[interface{}]interface{}{"id": 13}}).Field("inserted"), suite.session, r.RunOpts{ 250 GeometryFormat: "raw", 251 GroupFormat: "map", 252 }) 253 suite.T().Log("Finished running line #85") 254 } 255 256 { 257 // limits.yaml line #97 258 /* 14 */ 259 var expected_ int = 14 260 /* tbl.delete().get_field('deleted') */ 261 262 suite.T().Log("About to run line #97: tbl.Delete().Field('deleted')") 263 264 runAndAssert(suite.Suite, expected_, tbl.Delete().Field("deleted"), suite.session, r.RunOpts{ 265 GeometryFormat: "raw", 266 GroupFormat: "map", 267 }) 268 suite.T().Log("Finished running line #97") 269 } 270 271 // limits.yaml line #101 272 // c2 = tbl.changes(squash=1000000) 273 suite.T().Log("Possibly executing: var c2 r.Term = tbl.Changes().OptArgs(r.ChangesOpts{Squash: 1000000, })") 274 275 c2 := maybeRun(tbl.Changes().OptArgs(r.ChangesOpts{Squash: 1000000}), suite.session, r.RunOpts{ 276 ChangefeedQueueSize: 10, 277 }) 278 _ = c2 // Prevent any noused variable errors 279 280 { 281 // limits.yaml line #106 282 /* 7 */ 283 var expected_ int = 7 284 /* tbl.insert([{'id':0}, {'id':1}, {'id':2}, {'id':3}, {'id':4}, {'id':5}, {'id':6}]).get_field('inserted') */ 285 286 suite.T().Log("About to run line #106: tbl.Insert([]interface{}{map[interface{}]interface{}{'id': 0, }, map[interface{}]interface{}{'id': 1, }, map[interface{}]interface{}{'id': 2, }, map[interface{}]interface{}{'id': 3, }, map[interface{}]interface{}{'id': 4, }, map[interface{}]interface{}{'id': 5, }, map[interface{}]interface{}{'id': 6, }}).Field('inserted')") 287 288 runAndAssert(suite.Suite, expected_, tbl.Insert([]interface{}{map[interface{}]interface{}{"id": 0}, map[interface{}]interface{}{"id": 1}, map[interface{}]interface{}{"id": 2}, map[interface{}]interface{}{"id": 3}, map[interface{}]interface{}{"id": 4}, map[interface{}]interface{}{"id": 5}, map[interface{}]interface{}{"id": 6}}).Field("inserted"), suite.session, r.RunOpts{ 289 GeometryFormat: "raw", 290 GroupFormat: "map", 291 }) 292 suite.T().Log("Finished running line #106") 293 } 294 295 { 296 // limits.yaml line #118 297 /* 7 */ 298 var expected_ int = 7 299 /* tbl.insert([{'id':7}, {'id':8}, {'id':9}, {'id':10}, {'id':11}, {'id':12}, {'id':13}]).get_field('inserted') */ 300 301 suite.T().Log("About to run line #118: tbl.Insert([]interface{}{map[interface{}]interface{}{'id': 7, }, map[interface{}]interface{}{'id': 8, }, map[interface{}]interface{}{'id': 9, }, map[interface{}]interface{}{'id': 10, }, map[interface{}]interface{}{'id': 11, }, map[interface{}]interface{}{'id': 12, }, map[interface{}]interface{}{'id': 13, }}).Field('inserted')") 302 303 runAndAssert(suite.Suite, expected_, tbl.Insert([]interface{}{map[interface{}]interface{}{"id": 7}, map[interface{}]interface{}{"id": 8}, map[interface{}]interface{}{"id": 9}, map[interface{}]interface{}{"id": 10}, map[interface{}]interface{}{"id": 11}, map[interface{}]interface{}{"id": 12}, map[interface{}]interface{}{"id": 13}}).Field("inserted"), suite.session, r.RunOpts{ 304 GeometryFormat: "raw", 305 GroupFormat: "map", 306 }) 307 suite.T().Log("Finished running line #118") 308 } 309 }