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_builder
anddelete_builder
arguments were added.Deprecated since version 0.4.0:
delete_instance
,save_instance
methods were deleted in favor of using builders.New in version 0.3.0:
db_session
argument 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:
builder
argument was added.Deprecated since version 0.4.0:
delete_instance
method renamed todelete_fixture
for 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:
builder
argument was added.Deprecated since version 0.3.7:
include_relationships
argument 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:
builder
argument was added.attrs
argument renamedoverrides
.Deprecated since version 0.4.0:
do_not_save
argument was removed.Deprecated since version 0.3.7:
include_relationships
argument 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:
builder
argument was added.Deprecated since version 0.3.7:
include_relationships
argument 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_instance
Deprecated since version 0.4.0:
do_not_save
argument was removed.Deprecated since version 0.3.7:
include_relationships
argument was removed.
-
install_fixture
(fixture_key, overrides=None)¶ Install a fixture.
Parameters: - fixture_key (str) –
- overrides (dict) – override fields
Return type: fixture_instance
Deprecated since version 0.4.0:
do_not_save
argument was removed.attrs
argument renamedoverrides
.Deprecated since version 0.3.7:
include_relationships
argument 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_instance
Deprecated since version 0.4.0:
do_not_save
argument was removed.Deprecated since version 0.3.7:
include_relationships
argument 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_session
argument was removed and put in the object’s constructor arguments.Changed in version 0.3.7:
filename
argument 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: None
Deprecated since version 0.4.0:
do_not_delete
argument was removed. This function does not return anything.
-
uninstall_fixture
(fixture_key)¶ Uninstall a fixture.
Parameters: fixture_key (str) – Return type: None
Deprecated since version 0.4.0:
do_not_delete
argument 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: None
Deprecated since version 0.4.0:
do_not_delete
argument 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:
FixturesManagerMixin
does not install class attributesfixtures
anymore.Changed in version 0.3.0:
use_fixtures_manager
method 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:
builder
argument was added.attrs
argument renamedoverrides
.Deprecated since version 0.4.0:
do_not_save
argument was removed.Deprecated since version 0.3.7:
include_relationships
argument 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:
builder
argument was added.Deprecated since version 0.3.7:
include_relationships
argument 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_instance
Deprecated since version 0.4.0:
do_not_save
argument was removed.Deprecated since version 0.3.7:
include_relationships
argument was removed.
-
install_fixture
(*args, **kwargs)¶ Install a fixture.
Parameters: - fixture_key (str) –
- overrides (dict) – override fields
Return type: fixture_instance
Deprecated since version 0.4.0:
do_not_save
argument was removed.attrs
argument renamedoverrides
.Deprecated since version 0.3.7:
include_relationships
argument 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_instance
Deprecated since version 0.4.0:
do_not_save
argument was removed.Deprecated since version 0.3.7:
include_relationships
argument was removed.
-
uninstall_all_fixtures
(*args, **kwargs)¶ Uninstall all installed fixtures.
Return type: None
Deprecated since version 0.4.0:
do_not_delete
argument was removed. This function does not return anything.
-
uninstall_fixture
(*args, **kwargs)¶ Uninstall a fixture.
Parameters: fixture_key (str) – Return type: None
Deprecated since version 0.4.0:
do_not_delete
argument 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: None
Deprecated since version 0.4.0:
do_not_delete
argument 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:
fields
argument renamedoverrides
.New in version 0.4.0:
builder
argument added.Deprecated since version 0.3.7:
include_relationships
argument 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
source
in place.
-
charlatan.utils.
extended_timedelta
(**kwargs)¶ Return a
timedelta
object based on the arguments.Parameters: - years (integer) –
- months (integer) –
- days (integer) –
Return type: timedelta
instanceSince
timedelta
‘s largest unit are days,timedelta
objects cannot be created with a number of months or years as an argument. This function lets you createtimedelta
objects 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.timedelta
instance>>> 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.