Skip to content

Commit 4fd1eba

Browse files
committed
flaky, flaky
1 parent 7a50451 commit 4fd1eba

File tree

9 files changed

+47
-49
lines changed

9 files changed

+47
-49
lines changed

stix2/datastore/relational_db/database_backends/database_backend_base.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from typing import Any
22

33
from sqlalchemy import (
4-
Boolean, CheckConstraint, Float, Integer, Sequence, String, Text, create_engine,
4+
Boolean, CheckConstraint, Float, Integer, Sequence, String, Text,
5+
create_engine,
56
)
67
from sqlalchemy_utils import create_database, database_exists, drop_database
78

stix2/datastore/relational_db/database_backends/sqlite_backend.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import Any
22

3-
from sqlalchemy import Table, Column, Text, event, insert, select, update
3+
from sqlalchemy import Column, Table, Text, event, insert, select, update
44
from sqlalchemy.schema import CreateTable
55

66
from .database_backend_base import DatabaseBackend
@@ -86,12 +86,13 @@ def next_id(self, data_sink):
8686

8787
def create_sequence(self, metadata):
8888
# need id column, so update has something to work with (see above)
89-
t = Table("my_general_seq",
90-
metadata,
91-
Column("id", SQLiteBackend.determine_sql_type_for_key_as_int()),
92-
Column("value", SQLiteBackend.determine_sql_type_for_integer_property()),
93-
schema=self.schema_for_core())
89+
t = Table(
90+
"my_general_seq",
91+
metadata,
92+
Column("id", SQLiteBackend.determine_sql_type_for_key_as_int()),
93+
Column("value", SQLiteBackend.determine_sql_type_for_integer_property()),
94+
schema=self.schema_for_core(),
95+
)
9496
CreateTable(t).compile(self.database_connection)
9597
self.select_stmt_for_sequence = select(t.c.value)
9698
return t
97-

stix2/datastore/relational_db/demo.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
import json
22
import sys
33

4-
from database_backends.postgres_backend import PostgresBackend # noqa F401
4+
from database_backends.postgres_backend import PostgresBackend # noqa F401
55
from database_backends.sqlite_backend import SQLiteBackend # noqa F401
6-
7-
8-
from database_backends.postgres_backend import PostgresBackend
96
# needed so the relational db code knows to create tables for this
107
from identity_contact_information import \
118
identity_contact_information # noqa F401
@@ -16,11 +13,6 @@
1613
from stix2.datastore.relational_db.relational_db import RelationalDBStore
1714
import stix2.properties
1815

19-
# needed so the relational db code knows to create tables for this
20-
from incident import incident, event, task, impact
21-
from identity_contact_information import identity_contact_information
22-
from observed_string import observed_string
23-
2416

2517
def main():
2618
with open(sys.argv[1], "r") as f:

stix2/datastore/relational_db/input_creation.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
from stix2.datastore.relational_db.add_method import add_method
44
from stix2.datastore.relational_db.utils import (
5-
SCO_COMMON_PROPERTIES, SDO_COMMON_PROPERTIES, canonicalize_table_name, shorten_extension_definition_id
5+
SCO_COMMON_PROPERTIES, SDO_COMMON_PROPERTIES, canonicalize_table_name,
6+
shorten_extension_definition_id,
67
)
78
from stix2.properties import (
89
BinaryProperty, BooleanProperty, DictionaryProperty,
@@ -132,8 +133,6 @@ def generate_insert_information(self, dictionary_name, stix_object, **kwargs):
132133
bindings["name"] = name
133134
bindings[value_binding] = data_sink.db_backend.process_value_for_insert(stix_type, value)
134135

135-
136-
137136
insert_statements.append(insert(table).values(bindings))
138137

139138
insert_statements.extend(child_table_inserts)

stix2/datastore/relational_db/query.py

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
import stix2
77
from stix2.datastore import DataSourceError
88
from stix2.datastore.relational_db.utils import (
9-
canonicalize_table_name, schema_for, table_name_for,
10-
see_through_workbench,
9+
canonicalize_table_name, see_through_workbench, table_name_for,
1110
)
1211
import stix2.properties
1312
import stix2.utils
@@ -50,13 +49,13 @@ def _tables_for(stix_class, metadata, db_backend):
5049
# Some fixed info about core tables
5150
if stix2.utils.is_sco(stix_class._type, stix2.DEFAULT_VERSION):
5251
canon_core_table_name = canonicalize_table_name(
53-
"core_sco", db_backend.schema_for_core()
52+
"core_sco", db_backend.schema_for_core(),
5453
)
5554

5655
else:
5756
# for SROs and SMOs too?
5857
canon_core_table_name = canonicalize_table_name(
59-
"core_sdo", db_backend.schema_for_core()
58+
"core_sdo", db_backend.schema_for_core(),
6059
)
6160

6261
core_table = metadata.tables[canon_core_table_name]
@@ -160,13 +159,13 @@ def _read_external_references(stix_id, metadata, conn, db_backend):
160159
ext_refs_table = metadata.tables[
161160
canonicalize_table_name(
162161
"external_references",
163-
db_backend.schema_for_core()
162+
db_backend.schema_for_core(),
164163
)
165164
]
166165
ext_refs_hashes_table = metadata.tables[
167166
canonicalize_table_name(
168167
"external_references_hashes",
169-
db_backend.schema_for_core()
168+
db_backend.schema_for_core(),
170169
)
171170
]
172171
ext_refs = []
@@ -206,7 +205,7 @@ def _read_object_marking_refs(stix_id, common_table_kind, metadata, conn, db_bac
206205

207206
marking_table_name = canonicalize_table_name(
208207
"object_marking_refs_" + common_table_kind,
209-
db_backend.schema_for_core()
208+
db_backend.schema_for_core(),
210209
)
211210

212211
# The SCO/SDO object_marking_refs tables are mostly identical; they just
@@ -237,7 +236,7 @@ def _read_granular_markings(stix_id, common_table_kind, metadata, conn, db_backe
237236

238237
marking_table_name = canonicalize_table_name(
239238
"granular_marking_" + common_table_kind,
240-
db_backend.schema_for_core()
239+
db_backend.schema_for_core(),
241240
)
242241
marking_table = metadata.tables[marking_table_name]
243242

@@ -310,7 +309,7 @@ def _read_dictionary_property(
310309
prop_instance,
311310
metadata,
312311
conn,
313-
db_backend
312+
db_backend,
314313
):
315314
"""
316315
Read a dictionary from a table.
@@ -350,11 +349,11 @@ def _read_dictionary_property(
350349
list_table_name = f"{dict_table_name}_values"
351350
list_table = metadata.tables[list_table_name]
352351
stmt = sa.select(
353-
dict_table.c.name, list_table.c.value
352+
dict_table.c.name, list_table.c.value,
354353
).select_from(dict_table).join(
355-
list_table, list_table.c.id == dict_table.c["values"]
354+
list_table, list_table.c.id == dict_table.c["values"],
356355
).where(
357-
dict_table.c.id == stix_id
356+
dict_table.c.id == stix_id,
358357
)
359358

360359
results = conn.execute(stmt)
@@ -509,7 +508,7 @@ def _read_complex_property_value(
509508
obj_table,
510509
metadata,
511510
conn,
512-
db_backend
511+
db_backend,
513512
):
514513
"""
515514
Read property values which require auxiliary tables to store. These are
@@ -605,7 +604,7 @@ def _read_complex_property_value(
605604
prop_instance,
606605
metadata,
607606
conn,
608-
db_backend
607+
db_backend,
609608
)
610609

611610
elif isinstance(prop_instance, stix2.properties.EmbeddedObjectProperty):
@@ -663,7 +662,7 @@ def _read_complex_top_level_property_value(
663662
stix_id,
664663
metadata,
665664
conn,
666-
db_backend
665+
db_backend,
667666
)
668667

669668
elif prop_name == "object_marking_refs":
@@ -689,7 +688,7 @@ def _read_complex_top_level_property_value(
689688
label_table = metadata.tables[
690689
canonicalize_table_name(
691690
f"core_{common_table_kind}_labels",
692-
db_backend.schema_for_core()
691+
db_backend.schema_for_core(),
693692
)
694693
]
695694
prop_value = _read_simple_array(stix_id, "label", label_table, conn)
@@ -703,7 +702,7 @@ def _read_complex_top_level_property_value(
703702
type_table,
704703
metadata,
705704
conn,
706-
db_backend
705+
db_backend,
707706
)
708707

709708
return prop_value
@@ -761,7 +760,7 @@ def read_object(stix_id, metadata, conn, db_backend):
761760
stix_obj = stix2.parse(
762761
obj_dict,
763762
allow_custom=True,
764-
version=stix2.DEFAULT_VERSION
763+
version=stix2.DEFAULT_VERSION,
765764
)
766765

767766
return stix_obj

stix2/datastore/relational_db/relational_db_testing.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from database_backends.mariadb_backend import MariaDBBackend # noqa: F401
55
from database_backends.postgres_backend import PostgresBackend # noqa: F401
6-
from database_backends.sqlite_backend import SQLiteBackend
6+
from database_backends.sqlite_backend import SQLiteBackend # noqa: F401
77
import pytz
88

99
import stix2
@@ -290,7 +290,7 @@ def test_dictionary():
290290

291291
def main():
292292
store = RelationalDBStore(
293-
MariaDBBackend(f"mariadb+pymysql://admin:[email protected]:3306/rdb", force_recreate=True),
293+
MariaDBBackend("mariadb+pymysql://admin:[email protected]:3306/rdb", force_recreate=True),
294294
# PostgresBackend("postgresql://localhost/stix-data-sink", force_recreate=True),
295295
# SQLiteBackend("sqlite:///stix-data-sink.db", force_recreate=True),
296296

stix2/datastore/relational_db/table_creation.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55

66
from stix2.datastore.relational_db.add_method import add_method
77
from stix2.datastore.relational_db.utils import (
8-
canonicalize_table_name, determine_column_name, determine_core_properties, determine_sql_type_from_stix,
9-
flat_classes, get_stix_object_classes, shorten_extension_definition_id
8+
canonicalize_table_name, determine_column_name, determine_core_properties,
9+
determine_sql_type_from_stix, flat_classes, get_stix_object_classes,
10+
shorten_extension_definition_id,
1011
)
1112
from stix2.properties import (
1213
BinaryProperty, BooleanProperty, DictionaryProperty,
@@ -15,8 +16,7 @@
1516
ObjectReferenceProperty, Property, ReferenceProperty, StringProperty,
1617
TimestampProperty, TypeProperty,
1718
)
18-
19-
from stix2.v21.base import (_Extension, _Observable)
19+
from stix2.v21.base import _Extension, _Observable
2020
from stix2.v21.common import KillChainPhase
2121

2222

@@ -275,9 +275,11 @@ def create_core_table(metadata, db_backend, stix_type_name):
275275
Column("created", db_backend.determine_sql_type_for_timestamp_property()),
276276
Column("modified", db_backend.determine_sql_type_for_timestamp_property()),
277277
Column("revoked", db_backend.determine_sql_type_for_boolean_property()),
278-
Column("confidence",
279-
db_backend.determine_sql_type_for_integer_property(),
280-
db_backend.create_min_max_constraint_expression(IntegerProperty(min=0, max=100), "confidence")),
278+
Column(
279+
"confidence",
280+
db_backend.determine_sql_type_for_integer_property(),
281+
db_backend.create_min_max_constraint_expression(IntegerProperty(min=0, max=100), "confidence"),
282+
),
281283
Column("lang", db_backend.determine_sql_type_for_string_property()),
282284
]
283285
columns.extend(sdo_columns)

stix2/datastore/relational_db/utils.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ def determine_core_properties(stix_object_class, is_embedded_object):
5151
else:
5252
raise ValueError(f"{stix_object_class} not a STIX object")
5353

54+
5455
def canonicalize_table_name(table_name, schema_name=None):
5556
if schema_name:
5657
full_name = schema_name + "." + table_name
@@ -112,6 +113,7 @@ def get_stix_object_classes():
112113
)
113114
)
114115

116+
115117
def schema_for(stix_class):
116118
if issubclass(stix_class, _DomainObject):
117119
schema_name = "sdo"

stix2/test/v21/test_datastore_relational_db.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
from stix2.datastore.relational_db.database_backends.postgres_backend import (
1111
PostgresBackend,
1212
)
13-
from stix2.datastore.relational_db.database_backends.sqlite_backend import SQLiteBackend
13+
from stix2.datastore.relational_db.database_backends.sqlite_backend import (
14+
SQLiteBackend,
15+
)
1416
from stix2.datastore.relational_db.relational_db import RelationalDBStore
1517
import stix2.properties
1618
import stix2.registry
@@ -19,7 +21,7 @@
1921

2022
@pytest.fixture(
2123
scope="module",
22-
params=["postgresql", "sqlite"]
24+
params=["postgresql", "sqlite"],
2325
)
2426
def db_backend(request):
2527
if request.param == "postgresql":

0 commit comments

Comments
 (0)