API Reference¶
FixturesManager¶
-
class
charlatan.FixturesManager(db_session=None, use_unicode=False, get_builder=None, delete_builder=None)¶ Manage Fixture objects.
Parameters: - db_session (Session) – sqlalchemy Session object
- use_unicode (bool) –
- get_builder (func) –
- delete_builder (func) –
New in version 0.4.0:
get_builderanddelete_builderarguments were added.Deprecated since version 0.4.0:
delete_instance,save_instancemethods were deleted in favor of using builders.New in version 0.3.0:
db_sessionargument was added.-
clean_cache()¶ Clean the cache.
-
delete_fixture(fixture_key, builder=None)¶ Delete a fixture instance.
Parameters: - fixture_key (str) –
- builder (func) –
Before and after the process, the
before_delete()andafter_delete()hook are run.New in version 0.4.0:
builderargument was added.Deprecated since version 0.4.0:
delete_instancemethod renamed todelete_fixturefor consistency reason.
-
get_all_fixtures(builder=None)¶ Get all fixtures.
Parameters: fixture_keys (iterable) – Return type: list of instantiated but unsaved fixtures New in version 0.4.0:
builderargument was added.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
get_fixture(fixture_key, overrides=None, builder=None)¶ Return a fixture instance (but do not save it).
Parameters: - fixture_key (str) –
- overrides (dict) – override fields
- builder (func) – build builder.
Return type: instantiated but unsaved fixture
New in version 0.4.0:
builderargument was added.attrsargument renamedoverrides.Deprecated since version 0.4.0:
do_not_saveargument was removed.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
get_fixtures(fixture_keys, builder=None)¶ Get fixtures from iterable.
Parameters: fixture_keys (iterable) – Return type: list of instantiated but unsaved fixtures New in version 0.4.0:
builderargument was added.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
get_hook(hook_name)¶ Return a hook.
Parameters: hook_name (str) – e.g. before_delete.
-
install_all_fixtures()¶ Install all fixtures.
Return type: list of fixture_instanceDeprecated since version 0.4.0:
do_not_saveargument was removed.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
install_fixture(fixture_key, overrides=None)¶ Install a fixture.
Parameters: - fixture_key (str) –
- overrides (dict) – override fields
Return type: fixture_instanceDeprecated since version 0.4.0:
do_not_saveargument was removed.attrsargument renamedoverrides.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
install_fixtures(fixture_keys)¶ Install a list of fixtures.
Parameters: fixture_keys (str or list of strs) – fixtures to be installed Return type: list of fixture_instanceDeprecated since version 0.4.0:
do_not_saveargument was removed.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
keys()¶ Return all fixture keys.
-
load(filenames, models_package='')¶ Pre-load the fixtures. Does not install anything.
Parameters: - filename (list_or_str) – file or list of files that holds the fixture data
- models_package (str) – package holding the models definition
Deprecated since version 0.3.0:
db_sessionargument was removed and put in the object’s constructor arguments.Changed in version 0.3.7:
filenameargument was changed tofilenames, which can be list or string.
-
set_hook(hookname, func)¶ Add a hook.
Parameters: - hookname (str) –
- func (function) –
-
uninstall_all_fixtures()¶ Uninstall all installed fixtures.
Return type: NoneDeprecated since version 0.4.0:
do_not_deleteargument was removed. This function does not return anything.
-
uninstall_fixture(fixture_key)¶ Uninstall a fixture.
Parameters: fixture_key (str) – Return type: NoneDeprecated since version 0.4.0:
do_not_deleteargument was removed. This function does not return anything.
-
uninstall_fixtures(fixture_keys)¶ Uninstall a list of installed fixtures.
Parameters: fixture_keys (str or list of strs) – fixtures to be uninstalled Return type: NoneDeprecated since version 0.4.0:
do_not_deleteargument was removed. This function does not return anything.
FixturesManagerMixin¶
-
class
charlatan.FixturesManagerMixin¶ Class from which test cases should inherit to use fixtures.
Changed in version 0.3.12:
FixturesManagerMixindoes not install class attributesfixturesanymore.Changed in version 0.3.0:
use_fixtures_managermethod renamedinit_fixtures.Changed in version 0.3.0: Extensive change to the function signatures.
-
get_fixture(*args, **kwargs)¶ Return a fixture instance (but do not save it).
Parameters: - fixture_key (str) –
- overrides (dict) – override fields
- builder (func) – build builder.
Return type: instantiated but unsaved fixture
New in version 0.4.0:
builderargument was added.attrsargument renamedoverrides.Deprecated since version 0.4.0:
do_not_saveargument was removed.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
get_fixtures(*args, **kwargs)¶ Get fixtures from iterable.
Parameters: fixture_keys (iterable) – Return type: list of instantiated but unsaved fixtures New in version 0.4.0:
builderargument was added.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
init_fixtures()¶ Initialize the fixtures.
This function must be called before doing anything else.
-
install_all_fixtures(*args, **kwargs)¶ Install all fixtures.
Return type: list of fixture_instanceDeprecated since version 0.4.0:
do_not_saveargument was removed.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
install_fixture(*args, **kwargs)¶ Install a fixture.
Parameters: - fixture_key (str) –
- overrides (dict) – override fields
Return type: fixture_instanceDeprecated since version 0.4.0:
do_not_saveargument was removed.attrsargument renamedoverrides.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
install_fixtures(*args, **kwargs)¶ Install a list of fixtures.
Parameters: fixture_keys (str or list of strs) – fixtures to be installed Return type: list of fixture_instanceDeprecated since version 0.4.0:
do_not_saveargument was removed.Deprecated since version 0.3.7:
include_relationshipsargument was removed.
-
uninstall_all_fixtures(*args, **kwargs)¶ Uninstall all installed fixtures.
Return type: NoneDeprecated since version 0.4.0:
do_not_deleteargument was removed. This function does not return anything.
-
uninstall_fixture(*args, **kwargs)¶ Uninstall a fixture.
Parameters: fixture_key (str) – Return type: NoneDeprecated since version 0.4.0:
do_not_deleteargument was removed. This function does not return anything.
-
uninstall_fixtures(*args, **kwargs)¶ Uninstall a list of installed fixtures.
Parameters: fixture_keys (str or list of strs) – fixtures to be uninstalled Return type: NoneDeprecated since version 0.4.0:
do_not_deleteargument was removed. This function does not return anything.
-
Fixture¶
-
class
charlatan.Fixture(key, fixture_manager, model=None, fields=None, inherit_from=None, deep_inherit=False, post_creation=None, id_=None, models_package='', depend_on=frozenset([]))¶ Represent a fixture that can be installed.
-
static
extract_rel_name(name)¶ Return the relationship and attr from an argument to !rel.
-
extract_relationships()¶ Return all dependencies.
Rtype generator: Yields
(depends_on, attr_name).
-
get_class()¶ Return class object for this instance.
-
get_instance(path=None, overrides=None, builder=None)¶ Instantiate the fixture using the model and return the instance.
Parameters: - path (str) – remaining path to return
- overrides (dict) – overriding fields
- builder (func) – function that is used to get the fixture
Deprecated since version 0.4.0:
fieldsargument renamedoverrides.New in version 0.4.0:
builderargument added.Deprecated since version 0.3.7:
include_relationshipsargument removed.
-
get_relationship(name)¶ Get a relationship and its attribute if necessary.
-
static
Utils¶
-
charlatan.utils.copy_docstring_from(klass)¶ Copy docstring from another class, using the same function name.
-
charlatan.utils.datetime_to_epoch_in_ms(a_datetime)¶ Return the epoch timestamp for the given datetime.
Parameters: a_datetime (datetime) – The datetime to translate Return type: int >>> a_datetime = datetime.datetime(2013, 11, 21, 1, 33, 11, 160611) >>> datetime_to_epoch_timestamp(a_datetime) 1384997591.160611 >>> datetime_to_epoch_in_ms(a_datetime) 1384997591161
-
charlatan.utils.datetime_to_epoch_timestamp(a_datetime)¶ Return the epoch timestamp for the given datetime.
Parameters: a_datetime (datetime) – The datetime to translate Return type: float >>> a_datetime = datetime.datetime(2013, 11, 21, 1, 33, 11, 160611) >>> datetime_to_epoch_timestamp(a_datetime) 1384997591.160611
-
charlatan.utils.deep_update(source, overrides)¶ Update a nested dictionary or similar mapping.
Modify
sourcein place.
-
charlatan.utils.extended_timedelta(**kwargs)¶ Return a
timedeltaobject based on the arguments.Parameters: - years (integer) –
- months (integer) –
- days (integer) –
Return type: timedeltainstanceSince
timedelta‘s largest unit are days,timedeltaobjects cannot be created with a number of months or years as an argument. This function lets you createtimedeltaobjects based on a number of days, months and years.>>> extended_timedelta(months=1) datetime.timedelta(30) >>> extended_timedelta(years=1) datetime.timedelta(365) >>> extended_timedelta(days=1, months=1, years=1) datetime.timedelta(396) >>> extended_timedelta(hours=1) datetime.timedelta(0, 3600)
-
charlatan.utils.get_timedelta(delta)¶ Return timedelta from string.
Parameters: delta (str) – Return type: datetime.timedeltainstance>>> get_timedelta("") datetime.timedelta(0) >>> get_timedelta("+1h") datetime.timedelta(0, 3600) >>> get_timedelta("+10h") datetime.timedelta(0, 36000) >>> get_timedelta("-10d") datetime.timedelta(-10) >>> get_timedelta("+1m") datetime.timedelta(30) >>> get_timedelta("-1y") datetime.timedelta(-365) >>> get_timedelta("+10d2h") datetime.timedelta(10, 7200) >>> get_timedelta("-10d2h") datetime.timedelta(-11, 79200) >>> get_timedelta("-21y2m1d24h") datetime.timedelta(-7727) >>> get_timedelta("+5M") datetime.timedelta(0, 300)
-
charlatan.utils.is_sqlalchemy_model(instance)¶ Return True if instance is an SQLAlchemy model instance.
-
charlatan.utils.richgetter(obj, path)¶ Return a attrgetter + item getter.
-
charlatan.utils.safe_iteritems(items)¶ Safely iterate over a dict or a list.