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  }