Exemplo n.º 1
0
    def test_provider_for_bitstring(self):
        provider = self.f.provider_for_column(Column('foo', 'bit', 4))
        value = provider()
        self.assertEqual(value, "0110")

        provider = self.f.provider_for_column(Column('foo', 'bit', 8))
        value = provider()
        self.assertEqual(value, "11110100")
Exemplo n.º 2
0
 def test_provider_for_nested_string_array(self):
     provider = self.f.provider_for_column(
         Column('foo', 'string_array_array', None))
     value = provider()
     self.assertEqual(len(value), 40)
     self.assertEqual(len(value[0]), 7)
     self.assertEqual(value[0][0:2], ['agent', 'every'])
Exemplo n.º 3
0
def rnd_expr(data_faker, columns):
    inner_type = None
    while not inner_type:
        column = random.choice(list(columns.keys()))
        data_type = columns[column]
        inner_type, *dimensions = data_type.split('_array')
    if inner_type == 'timestamp':

        def provider():
            return data_faker.fake.unix_time() * 1000
    else:
        provider = data_faker.provider_for_column(
            Column(column, inner_type, None))
    if inner_type in TYPE_REQUIRES_QUOTES:
        provider = partial(add_quotes, provider)
    use_scalar = every(15)
    if type_is_number(data_type):
        scalars = SCALARS_BY_TYPE.get('number', [])
    else:
        scalars = SCALARS_BY_TYPE.get(data_type, [])
    scalar = scalars and random.choice(scalars)
    if use_scalar and scalar:
        expr = scalar(data_faker, column, provider)
    else:
        expr = expr_with_operator(column, provider, inner_type, dimensions)
    if every(10):
        if every(2):
            return f'NOT {expr}'
        else:
            return f'NOT ignore3vl({expr})'
    else:
        return expr
Exemplo n.º 4
0
def columns_for_table(conn, schema, table):
    c = conn.cursor()
    c.execute("SELECT min(version['number']) FROM sys.nodes")
    version = V(c.fetchone()[0])
    stmt = SELLECT_COLS.format(schema_column_name='table_schema'
                               if version >= CRATEDB_0_57 else 'schema_name')
    c.execute(stmt, (
        schema,
        table,
    ))
    return [Column(*row) for row in c.fetchall()]
Exemplo n.º 5
0
 def test_geoshape_type_default(self):
     provider = self.f.provider_for_column(Column('area', 'geo_shape',
                                                  None))
     self.assertEqual(
         provider(), 'POLYGON (( '
         '-132.47048275355667 44.147296981090086, '
         '-131.2679223792111 42.09369742374501, '
         '-132.14018682738413 37.17894586552094, '
         '-133.04540290479406 36.10457754779138, '
         '-142.31051949147854 46.75961787621673, '
         '-132.47048275355667 44.147296981090086 '
         '))')
Exemplo n.º 6
0
 def test_fake_provider_for_long_id_column(self):
     provider = self.f.provider_for_column(Column('id', 'long', None))
     self.assertEqual(provider(), 1)
Exemplo n.º 7
0
 def test_custom_auto_inc(self):
     provider = self.f.provider_for_column(Column('auto_inc', 'long', None))
     self.assertEqual(provider(), 1)
     self.assertEqual(provider(), 2)
Exemplo n.º 8
0
 def test_fake_provider_for_int_id_column(self):
     provider = self.f.provider_for_column(Column('id', 'integer', None))
     self.assertEqual(provider(), 1)
     self.assertEqual(provider(), 2)
     provider2 = self.f.provider_for_column(Column('id', 'integer', None))
     self.assertEqual(provider2(), 1)
Exemplo n.º 9
0
 def test_fake_provider_for_string_id_column(self):
     provider = self.f.provider_for_column(Column('id', 'string', None))
     # even with seed set the uuid is not deterministic.. just check the length
     self.assertEqual(len(provider()),
                      len('8731cdac-8671-441d-b07f-e766ffe303e1'))
Exemplo n.º 10
0
 def test_text_type_default(self):
     provider = self.f.provider_for_column(Column('x', 'text', None))
     self.assertEqual(provider(), 'police')
Exemplo n.º 11
0
 def test_double_precision_type_default(self):
     provider = self.f.provider_for_column(
         Column('x', 'double precision', None))
     self.assertEqual(provider(), Decimal(31246013015.0))
Exemplo n.º 12
0
 def test_timestamp_without_time_zone_type_default(self):
     provider = self.f.provider_for_column(
         Column('some_ts_column', 'timestamp without time zone', None))
     dt = provider()
     diff = datetime.datetime(2017, 11, 18, 19, 0, 0) - dt
     self.assertLessEqual(diff, datetime.timedelta(seconds=1))
Exemplo n.º 13
0
 def test_provider_for_object_column_creates_empty_dicts(self):
     provider = self.f.provider_for_column(Column('obj', 'object', None))
     self.assertEqual(provider(), dict())
Exemplo n.º 14
0
 def test_invalid_provider_for_column(self):
     msg = 'No fake provider found for column "x" with type "y"'
     with self.assertRaises(ValueError) as cm:
         self.f.provider_for_column(Column('x', 'y', None))
     self.assertEqual(str(cm.exception), msg)
Exemplo n.º 15
0
 def test_fake_provider_for_name_column(self):
     provider = self.f.provider_for_column(Column('name', 'string', None))
     self.assertEqual(provider(), 'Allison Hill')
Exemplo n.º 16
0
 def test_geopoint_type_default(self):
     provider = self.f.provider_for_column(
         Column('location', 'geo_point', None))
     self.assertEqual(provider(), [50.19364744483815, -85.49806405991995])
Exemplo n.º 17
0
 def test_bigint_type_default(self):
     provider = self.f.provider_for_column(Column('x', 'bigint', None))
     self.assertEqual(provider(), -7169676182496904803)
Exemplo n.º 18
0
 def test_type_default_provider_for_unknown_int_column(self):
     provider = self.f.provider_for_column(
         Column('column_name_without_provider', 'integer', None))
     self.assertEqual(provider(), 598833565)  # got random_int provider
Exemplo n.º 19
0
 def test_timestamp_column_default(self):
     provider = self.f.provider_for_column(
         Column('timestamp', 'timestamp', None))
     dt = provider()
     diff = datetime.datetime(2017, 11, 18, 19, 0, 0) - dt
     self.assertLessEqual(diff, datetime.timedelta(seconds=1))
Exemplo n.º 20
0
 def test_provider_for_string_array(self):
     provider = self.f.provider_for_column(
         Column('foo', 'string_array', None))
     value = provider()
     self.assertEqual(len(value), 40)
     self.assertEqual(value[0], 'born')
Exemplo n.º 21
0
 def test_real_type_default(self):
     provider = self.f.provider_for_column(Column('x', 'real', None))
     self.assertEqual(provider(), 31246013015.0)
Exemplo n.º 22
0
 def test_char_type_default(self):
     provider = self.f.provider_for_column(Column('x', 'char', None))
     self.assertEqual(provider(), -71)
Exemplo n.º 23
0
 def test_smallint_type_default(self):
     provider = self.f.provider_for_column(Column('x', 'smallint', None))
     self.assertEqual(provider(), -18176)
Exemplo n.º 24
0
 def test_ip_type_default(self):
     provider = self.f.provider_for_column(Column('x', 'ip', None))
     self.assertEqual(provider(), '129.153.198.180')