def test_reload(self): """ Tests that the reload method performs an inplace update of an instance's values """ v1 = yield TestVertexModel.create(test_val=8, name='a') v2 = yield TestVertexModel.create(test_val=7, name='b') e1 = yield TestEdgeModel.create(v1, v2, test_val=3) try: e2 = yield TestEdgeModel.get(e1.id) print_('\n{} {} {}: {} {}'.format( e1.id, e2.id, e1 == e2, e1.test_val, e2.test_val)) e2.test_val = 5 yield e2.save() print_("{} {} {}: {} {}".format( e1.id, e2.id, e1 == e2, e1.test_val, e2.test_val)) self.assertEqual(e1.test_val, 3) yield e1.reload() self.assertEqual(e1.test_val, 5) stream = yield v1.outE() e1 = yield stream.read() e1 = e1[0] self.assertEqual(e1.test_val, 5) finally: yield e1.delete() yield v1.delete() yield v2.delete()
def test_loaded(self): spec = connection.generate_spec() self.assertIsInstance(spec, (list, tuple)) self.assertGreater(len(spec), 0) for s in spec: print_(s) self.assertIsInstance(s, dict) self.assertDictContainsKeyWithValueType(s, 'model', string_types) self.assertDictContainsKeyWithValueType(s, 'element_type', string_types) self.assertDictContainsKeyWithValueType(s, 'makeType', string_types) self.assertDictContainsKeyWithValueType(s, 'properties', dict) for pk, pv in s['properties'].items(): self.assertDictContainsKeyWithValueType( pv, 'data_type', string_types) self.assertDictContainsKeyWithValueType( pv, 'index_ext', string_types) self.assertDictContainsKeyWithValueType( pv, 'uniqueness', string_types) self.assertDictContainsKeyWithValueType(pv, 'compiled', dict) self.assertDictContainsKeyWithValueType( pv['compiled'], 'script', string_types) self.assertDictContainsKeyWithValueType( pv['compiled'], 'params', dict) self.assertDictContainsKeyWithValueType( pv['compiled'], 'transaction', bool)
def test_loaded(self): spec = connection.generate_spec() self.assertIsInstance(spec, (list, tuple)) self.assertGreater(len(spec), 0) for s in spec: print_(s) self.assertIsInstance(s, dict) self.assertDictContainsKeyWithValueType(s, 'model', string_types) self.assertDictContainsKeyWithValueType( s, 'element_type', string_types) self.assertDictContainsKeyWithValueType( s, 'makeType', string_types) self.assertDictContainsKeyWithValueType(s, 'properties', dict) for pk, pv in s['properties'].items(): self.assertDictContainsKeyWithValueType( pv, 'data_type', string_types) self.assertDictContainsKeyWithValueType( pv, 'index_ext', string_types) self.assertDictContainsKeyWithValueType( pv, 'uniqueness', string_types) self.assertDictContainsKeyWithValueType( pv, 'compiled', dict) self.assertDictContainsKeyWithValueType( pv['compiled'], 'script', string_types) self.assertDictContainsKeyWithValueType( pv['compiled'], 'params', dict) self.assertDictContainsKeyWithValueType( pv['compiled'], 'transaction', bool)
def test_validation(self): for case in self.good_cases: print_("testing good case: %s" % (case, )) self.assertNotRaise(self.klass.validate, case) for case in self.bad_cases: print_("testing bad case: %s" % (case, )) self.assertRaises(ValidationError, self.klass.validate, case)
def test_gremlin_table_row(self): d = OrderedDict({'test': 1, 'a': 'b', 'c': 3}) r = Row(deepcopy(d)) print_(r) self.assertDictEqual(d, r._Row__data) self.assertEqual(len(d), len(r)) # test tuple-like access self.assertIn(r[0], d.values()) self.assertListEqual(list(d.values()), list(r[:])) with self.assertRaises(GoblinException): r[0] = 'test' with self.assertRaises(GoblinException): r[:] = (1, 2, 3) with self.assertRaises(GoblinException): del r[0] with self.assertRaises(GoblinException): del r[0:2] # test dict-like access self.assertListEqual(list(d.values()), list(r.values())) self.assertListEqual(list(d.keys()), list(r.keys())) self.assertListEqual(list(d.items()), list(r.items())) self.assertEqual(d['test'], r['test']) self.assertEqual(d['a'], r['a']) self.assertEqual(d['c'], r['c']) with self.assertRaises(GoblinException): r['test'] = 0 with self.assertRaises(GoblinException): del r['test'] # test . notation access self.assertEqual(d['test'], r.test) self.assertEqual(d['a'], r.a) self.assertEqual(d['c'], r.c) with self.assertRaises(GoblinException): r.test = 0 with self.assertRaises(GoblinException): del r.test # test iteration self.assertEqual(len(d), len([v for v in r])) self.assertListEqual(list(d.values()), [v for v in r]) # test next self.assertIn(r.next(), d.values()) self.assertIn(r.next(), d.values()) self.assertIn(r.next(), d.values()) # test equality r2 = Row(deepcopy(d)) self.assertEqual(r, r2)
def test_manual_properties(self): v = yield TestVertexModel.create( test_val=1, name='Test 7', some_property=32) try: print_("Got Results: {}".format(v)) print_("Result dict: {}".format(v.as_dict())) print_("\tResult properties: {}".format(v._properties.keys())) print_("\tResult Manaul: {}".format(v._manual_values.items())) self.assertEqual(v['some_property'], 32) self.assertIn('some_property', v) # This also tests __contains__ self.assertIn('test_val', v) # This also tests __contains__ # test len(Element()), should return len(element._properties) + len(element._manual_values) self.assertEqual(len(v), 3) # test __iter__ prop_keys = [key for key in v] self.assertEqual(len(prop_keys), 3) for prop_key in v: self.assertIn(prop_key, ['test_val', 'name', 'some_property']) # test keys() self.assertEqual(len(prop_keys), len(v.keys())) for prop_key in v.keys(): self.assertIn(prop_key, prop_keys) # test values() prop_values = v.values() self.assertEqual(len(prop_values), 3) for prop_value in prop_values: self.assertIn(prop_value, [1, 'Test 7', 32]) # test items() prop_items = v.items() self.assertEqual(len(prop_items), 3) for prop_key, prop_value in prop_items: self.assertIn(prop_key, ['test_val', 'name', 'some_property']) self.assertIn(prop_value, [1, 'Test 7', 32]) # test change v['some_property'] = 42 self.assertEqual(v['some_property'], 42) yield v.save() self.assertEqual(v['some_property'], 42) # test delete del v['some_property'] # This should still exist can be removed from the database, # but raise an AttributeError if attempted to access nomally self.assertIn('some_property', v) self.assertIsNone(v._manual_values.get('some_property')) with self.assertRaises(AttributeError): value = v['some_property'] print_("Got value: {}".format(value)) finally: yield v.delete()
def send_metrics(self, *args, **kwargs): """ Default pyformance implementation is to dump all metrics to STDOUT Change this if you want to customize for a particular metric collection system, ie. graphite, newrelic, etc. """ timestamp, metrics = self.get_metrics() if metrics: print_("{}: {}".format(timestamp, metrics))
def send_metrics(self): """ Default Hosted Graphite implementation is to dump all metrics to STDOUT Change this if you want to customize for a particular metric collection system, ie. graphite, newrelic, etc. """ metrics = self.get_metrics() if metrics: try: request = urllib.Request(self.url, metrics) request.add_header("Authorization", "Basic {}".format(base64.encodestring(self.api_key).strip())) result = urllib.urlopen(request) except Exception as e: print_(e)
def send_metrics(self): """ Default Hosted Graphite implementation is to dump all metrics to STDOUT Change this if you want to customize for a particular metric collection system, ie. graphite, newrelic, etc. """ metrics = self.get_metrics() if metrics: try: request = urllib.Request(self.url, metrics) request.add_header( "Authorization", "Basic {}".format( base64.encodestring(self.api_key).strip())) result = urllib.urlopen(request) except Exception as e: print_(e)
def send_metrics(self): """ Default Hosted Graphite implementation is to dump all metrics to STDOUT Change this if you want to customize for a particular metric collection system, ie. graphite, newrelic, etc. """ metrics = self.get_metrics() if not metrics: return for mkey, metric in metrics.items(): for mname, mval in metric.items(): try: self.agent.record_custom_metric( self.convert_metric_name(mkey, mname), mval, None) except Exception as e: print_(e)
def test_good_choices_key_io(self): print_("creating vertex") dt = yield BooleanTestChoicesVertex.create(test_val=False) print_("validating input") self.assertEqual(dt.test_val, False) print_("deleting vertex") yield dt.delete()
def test_good_choices_value_io(self): print_("creating vertex") dt = yield StringTestChoicesVertex.create(test_val=1) print_("validating input") self.assertEqual(dt.test_val, 'A') print_("deleting vertex") yield dt.delete()
def test_parsing_complicated_function(self): """ Groovy test parser functionality """ groovy_file_def = parse(self.groovy_file) """ :type groovy_file_def: GroovyFileDef """ print_(groovy_file_def) self.assertIsInstance(groovy_file_def, GroovyFileDef) self.assertEqual(groovy_file_def.filename, self.groovy_file) self.assertIsInstance(groovy_file_def.imports, (list, tuple)) self.assertIsInstance(groovy_file_def.functions, (list, tuple)) for import_def in groovy_file_def.imports: if import_def is not None: self.assertIsInstance(import_def, GroovyImport) print_("Import: {}".format(import_def)) for func_def in groovy_file_def.functions: if func_def is not None: self.assertIsInstance(func_def, GroovyFunction) print_("Function: {}".format(func_def)) groovy_funcs = groovy_file_def.functions self.assertEqual(len(groovy_funcs[6].body.split('\n')), 8) result_map = {x.name: x for x in groovy_funcs} self.assertIn('get_self', result_map) self.assertIn('return_value', result_map) self.assertIn('long_func', result_map)
def test_good_choices_key_io(self): print_("creating vertex") dt = yield DateTimeNaiveTestChoicesVertex.create( test_val=datetime.datetime(2014, 1, 1)) print_("validating input") self.assertEqual(dt.test_val, datetime.datetime(2014, 1, 1)) print_("deleting vertex") yield dt.delete()
def test_bad_choices_io(self): with self.assertRaises(ValidationError): print_("creating vertex") dt = yield BooleanTestChoicesVertex.create(test_val=None) print_("validating input") self.assertEqual(dt.test_val, None) print_("deleting vertex") yield dt.delete()
def test_good_choices_value_io(self): # Known to be a bug, all keys and choices must be int | long | datetime print_("creating vertex") dt = yield DateTimeNaiveTestChoicesVertex.create(test_val='B') print_("validating input") self.assertEqual(dt.test_val, datetime.datetime(2014, 2, 1)) print_("deleting vertex") yield t.delete()
def test_bad_choices_io(self): with self.assertRaises(ValidationError): print_("creating vertex") dt = yield DateTimeTestChoicesVertex.create( test_val=datetime.datetime(2014, 3, 1, tzinfo=utc)) print_("validating input") self.assertEqual(dt.test_val, 'C') print_("deleting vertex") yield dt.delete()
def test_bad_choices_io(self): with self.assertRaises(ValidationError): print_("creating vertex") dt = yield DateTimeNaiveTestChoicesVertex.create( test_val=datetime.datetime(2014, 3, 1)) print_("validating input") self.assertEqual(dt.test_val, 'C') print_("deleting vertex") yield dt.delete()
def test_find_by_value_method(self): v1 = yield TestVertexModel.create(test_val=8, name='a') v2 = yield TestVertexModel.create(test_val=7, name='b') e1 = yield TestEdgeModel.create(v1, v2, test_val=-99, name='e1') e2 = yield TestEdgeModel.create(v1, v2, test_val=-100, name='e2') e3 = yield TestEdgeModelDouble.create(v1, v2, test_val=-101.0, name='e3') try: stream = yield TestEdgeModel.find_by_value('test_val', -99) results = yield stream.read() self.assertEqual(len(results), 1) stream = yield TestEdgeModel.find_by_value('test_val', -100) results = yield stream.read() self.assertEqual(len(results), 1) stream = yield TestEdgeModel.find_by_value('test_val', -102) results = yield stream.read() self.assertEqual(len(results), 0) stream = yield TestEdgeModel.find_by_value('name', 'e2') results = yield stream.read() self.assertEqual(len(results), 1) stream = yield TestEdgeModelDouble.find_by_value('test_val', -101.0) results = yield stream.read() self.assertEqual(len(results), 1) print_(e1) print_(e2) print_(e3) finally: yield e1.delete() yield e2.delete() yield e3.delete() yield v1.delete() yield v2.delete()
def test_relationship_isolation(self): """ Test that the relationship adheres to instance methods """ v11 = yield self.vertex_model.create(name='test1') e1, v12 = yield v11.relation.create( vertex_params={'name': 'new_relation_1'}) v21 = yield self.vertex_model.create(name='test2') e2, v22 = yield v21.relation.create( vertex_params={'name': 'new_relation_2'}) try: stream = yield v11.relation.vertices() verts = yield stream.read() r11 = deepcopy(verts) print_("Vertex 1-1 relationships: {}".format(r11)) stream = yield v21.relation.vertices() verts = yield stream.read() r2 = deepcopy(verts) print_("Vertex 2-1 relationships: {}".format(r2)) with self.assertRaises(AssertionError): self.assertListEqual(r11, r2) stream = yield v11.relation.vertices() verts = yield stream.read() r12 = deepcopy(verts) print_("Vertex 1-1 relationships again: {}".format(r12)) with self.assertRaises(AssertionError): self.assertListEqual(r2, r12) self.assertListEqual(r11, r12) finally: yield v11.delete() yield v12.delete() yield v21.delete() yield v22.delete()
def test_float_io(self): print_("creating vertex") key = FloatTestVertex.get_property_by_name('test_val') yield create_key(key, 'Float') dt = yield FloatTestVertex.create(test_val=1.1) print_("getting vertex from vertex: %s" % dt) dt2 = yield FloatTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield FloatTestVertex.create(test_val=2.2) print_("\ncreated vertex: %s" % dt) dt2 = yield FloatTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, 2.2) print_("deleting vertex") yield dt2.delete()
def test_integer_io(self): print_("creating vertex") key = IntegerTestVertex.get_property_by_name('test_val1') yield create_key(key, 'Integer') dt = yield IntegerTestVertex.create(test_val1=1) print_("getting vertex from vertex: %s" % dt) dt2 = yield IntegerTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val1, dt.test_val1) print_("deleting vertex") yield dt2.delete() dt = yield IntegerTestVertex.create(test_val1=2) print_("\ncreated vertex: %s" % dt) dt2 = yield IntegerTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val1, 2) print_("deleting vertex") yield dt2.delete()
def test_positive_long_io(self): print_("creating vertex") key = PositiveLongTestVertex.get_property_by_name('test_val') yield create_key(key, 'Long') dt = yield PositiveLongTestVertex.create(test_val=1) print_("getting vertex from vertex: %s" % dt) dt2 = yield PositiveLongTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield PositiveLongTestVertex.create(test_val=2) print_("\ncreated vertex: %s" % dt) dt2 = yield PositiveLongTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, 2) print_("deleting vertex") yield dt2.delete()
def test_datetime_naive_io(self): print_("creating vertex") dt = yield DateTimeNaiveTestVertex.create( test_val=datetime.datetime(2014, 1, 1)) print_("getting vertex from vertex: %s" % dt) dt2 = yield DateTimeNaiveTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield DateTimeNaiveTestVertex.create( test_val=datetime.datetime(2014, 1, 1)) print_("\ncreated vertex: %s" % dt) dt2 = yield DateTimeNaiveTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, datetime.datetime(2014, 1, 1)) print_("deleting vertex") yield dt2.delete()
def test_datetime_io(self): print_("creating vertex") dt = yield DateTimeTestVertex.create( test_val=datetime.datetime(2014, 1, 1, tzinfo=utc)) print_("getting vertex from vertex: %s" % dt) dt2 = yield DateTimeTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield DateTimeTestVertex.create( test_val=datetime.datetime(2014, 1, 1, tzinfo=utc)) print_("\ncreated vertex: %s with time: %s" % (dt, dt.test_val)) dt2 = yield DateTimeTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual( dt2.test_val, datetime.datetime(2014, 1, 1, tzinfo=utc)) print_("deleting vertex") yield dt2.delete()
def test_input_output_equality(self): d = datetime.datetime(2014, 1, 1, tzinfo=utc) prop = self.klass() result = prop.to_python(prop.to_database(d)) print_("Input: %s, Output: %s" % (d, result)) self.assertEqual(d, result)
def test_ipv64_io(self): print_("creating vertex") dt = yield IPV64TestVertex.create(test_val='::255.255.255.255') print_("getting vertex from vertex: %s" % dt) dt2 = yield IPV64TestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield IPV64TestVertex.create(test_val='::ffff:255.255.255.255') print_("\ncreated vertex: %s" % dt) dt2 = yield IPV64TestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, '::ffff:255.255.255.255') print_("deleting vertex") yield dt2.delete()
def test_bad_validation(self): for case in self.bad_cases: print_("testing case: {}".format(case)) self.assertRaises(ValidationError, self.klass, case)
def test_good_validation(self): for case in self.good_cases: print_("testing case: {}".format(case)) self.assertNotRaise(self.klass, case)
def test_boolean_io(self): print_("creating vertex") dt = yield BooleanTestVertex.create(test_val=True) print_("getting vertex from vertex: %s" % dt) dt2 = yield BooleanTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield BooleanTestVertex.create(test_val=True) print_("\ncreated vertex: %s" % dt) dt2 = yield BooleanTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, True) print_("deleting vertex") yield dt2.delete()
def test_short_io(self): print_("creating vertex") dt = yield ShortTestVertex.create(test_val=1) print_("getting vertex from vertex: %s" % dt) dt2 = yield ShortTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield ShortTestVertex.create(test_val=2) print_("\ncreated vertex: %s" % dt) dt2 = yield ShortTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, 2) print_("deleting vertex") yield dt2.delete()
def test_ipv6_io(self): print_("creating vertex") dt = yield IPV6TestVertex.create(test_val='1::8') print_("getting vertex from vertex: %s" % dt) dt2 = yield IPV6TestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield IPV6TestVertex.create(test_val='1::7:8') print_("\ncreated vertex: %s" % dt) dt2 = yield IPV6TestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, '1::7:8') print_("deleting vertex") yield dt2.delete()
def test_url_io(self): print_("creating vertex") dt = yield URLTestVertex.create(test_val='http://wellaware.us') print_("getting vertex from vertex: %s" % dt) dt2 = yield URLTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield URLTestVertex.create(test_val='http://www.wellaware.us/') print_("\ncreated vertex: %s" % dt) dt2 = yield URLTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, 'http://www.wellaware.us/') print_("deleting vertex") yield dt2.delete()
def test_uuid1_io(self): print_("creating vertex") dt = yield UUID1TestVertex.create( test_val='bb19eaed-c946-4cef-8001-7cc3357cc439') print_("getting vertex from vertex: %s" % dt) dt2 = yield UUID1TestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield UUID1TestVertex.create( test_val='bb19eaed-c946-4cef-8001-7cc3357cc439') print_("\ncreated vertex: %s" % dt) dt2 = yield UUID1TestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, 'bb19eaed-c946-4cef-8001-7cc3357cc439') print_("deleting vertex") yield dt2.delete()
def test_email_io(self): print_("creating vertex") key = EmailTestVertex.get_property_by_name('test_val') yield create_key(key, 'String') dt = yield EmailTestVertex.create(test_val='*****@*****.**') print_("getting vertex from vertex: %s" % dt) dt2 = yield EmailTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield EmailTestVertex.create(test_val='*****@*****.**') print_("\ncreated vertex: %s" % dt) dt2 = yield EmailTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, '*****@*****.**') print_("deleting vertex") yield dt2.delete()
def test_text_io(self): print_("creating vertex") dt = yield TextTestVertex.create(test_val='ab12') print_("getting vertex from vertex: %s" % dt) dt2 = yield TextTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield TextTestVertex.create(test_val='12ab') print_("\ncreated vertex: %s" % dt) dt2 = yield TextTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, '12ab') print_("deleting vertex") yield dt2.delete()
def test_ipv6_io(self): print_("creating vertex") key = IPV6TestVertex.get_property_by_name('test_val') yield create_key(key, 'String') dt = yield IPV6TestVertex.create( test_val=ipaddress.IPv6Address('1:2:3:4:5:6:7:8')) print_("getting vertex from vertex: %s" % dt) dt2 = yield IPV6TestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield IPV6TestVertex.create(test_val='1::7:8') print_("\ncreated vertex: %s" % dt) dt2 = yield IPV6TestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(str(dt2.test_val), '1::7:8') print_("deleting vertex") yield dt2.delete()
def test_slug_io(self): print_("creating vertex") dt = yield SlugTestVertex.create(test_val='ab12') print_("getting vertex from vertex: %s" % dt) dt2 = yield SlugTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield SlugTestVertex.create(test_val='12ab') print_("\ncreated vertex: %s" % dt) dt2 = yield SlugTestVertex.get(dt._id) print_("Got vertex: %s" % dt2) self.assertEqual(dt2.test_val, '12ab') print_("deleting vertex") yield dt2.delete()
def test_decimal_io(self): print_("creating vertex") dt = yield DecimalTestVertex.create(test_val=_D('1.00')) print_("getting vertex from vertex: %s" % dt) dt2 = yield DecimalTestVertex.get(dt._id) print_("got vertex: %s\n" % dt2) self.assertEqual(dt2.test_val, dt.test_val) print_("deleting vertex") yield dt2.delete() dt = yield DecimalTestVertex.create(test_val=5) print_("\ncreated vertex: %s" % dt) dt2 = yield DecimalTestVertex.get(dt._id) print_("Got decimal vertex: %s" % dt2) self.assertEqual(dt2.test_val, _D('5')) print_("deleting vertex") yield dt2.delete()