本文整理汇总了Python中tests.factories.ProjectFactory.add_log方法的典型用法代码示例。如果您正苦于以下问题:Python ProjectFactory.add_log方法的具体用法?Python ProjectFactory.add_log怎么用?Python ProjectFactory.add_log使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tests.factories.ProjectFactory
的用法示例。
在下文中一共展示了ProjectFactory.add_log方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: LogsTestCase
# 需要导入模块: from tests.factories import ProjectFactory [as 别名]
# 或者: from tests.factories.ProjectFactory import add_log [as 别名]
class LogsTestCase(ApiTestCase):
def setUp(self):
super(LogsTestCase, self).setUp()
self.user = AuthUserFactory()
self.action_set = NodeLog.actions
self.node = ProjectFactory(is_public=False)
for i in range(len(self.action_set)):
self.node.add_log(
self.action_set[i],
{},
Auth(self.node.creator),
save=True
)
self.node.add_contributor(self.user, permissions=[osf_permissions.READ], auth=Auth(self.node.creator), log=False, save=True)
self.node_log_url = '/{}nodes/{}/logs/'.format(API_BASE, self.node._id)
self.url = '/{}logs/'.format(API_BASE)
self.public_node = ProjectFactory(is_public=True)
for i in range(len(self.action_set)):
self.public_node.add_log(
self.action_set[i],
{},
Auth(self.public_node.creator),
save=True
)
def tearDown(self):
NodeLog.remove()
Node.remove()
示例2: TestNodeFileLogDetail
# 需要导入模块: from tests.factories import ProjectFactory [as 别名]
# 或者: from tests.factories.ProjectFactory import add_log [as 别名]
class TestNodeFileLogDetail(ApiTestCase):
def setUp(self):
super(TestNodeFileLogDetail, self).setUp()
self.user_one = AuthUserFactory()
self.user_two = AuthUserFactory()
self.node = ProjectFactory(creator=self.user_one)
self.node.add_contributor(self.user_two)
self.component = NodeFactory(parent=self.node, creator=self.user_one)
self.file = api_utils.create_test_file(node=self.component, user=self.user_one)
self.node.add_log(
'osf_storage_file_moved',
auth=Auth(self.user_one),
params={
'node': self.node._id,
'project': self.node.parent_id,
'path': self.file.materialized_path,
'source': {
'materialized': self.file.materialized_path,
'addon': 'osfstorage',
'node': {
'_id': self.component._id,
'url': self.component.url,
'title': self.component.title,
}
},
'destination': {
'materialized': self.file.materialized_path,
'addon': 'osfstorage',
'node': {
'_id': self.node._id,
'url': self.node.url,
'title': self.node.title,
}
}
},
)
self.node.save()
self.node_logs_url = '/{}nodes/{}/logs/'.format(API_BASE, self.node._id)
self.component_logs_url = '/{}nodes/{}/logs/'.format(API_BASE, self.component._id)
def test_title_not_hidden_from_contributor_in_file_move(self):
res = self.app.get(self.node_logs_url, auth=self.user_two.auth)
assert_equal(res.status_code, 200)
assert_equal(res.json['data'][0]['attributes']['params']['destination']['node_title'], self.node.title)
def test_title_hidden_from_non_contributor_in_file_move(self):
res = self.app.get(self.node_logs_url, auth=self.user_two.auth)
assert_equal(res.status_code, 200)
assert_not_in(self.component.title, res.json['data'])
assert_equal(res.json['data'][0]['attributes']['params']['source']['node_title'], 'Private Component')
示例3: _create_nodes_and_add_logs
# 需要导入模块: from tests.factories import ProjectFactory [as 别名]
# 或者: from tests.factories.ProjectFactory import add_log [as 别名]
def _create_nodes_and_add_logs(self, first_activity_date, second_activity_date=None):
node_one = ProjectFactory(creator=self.user_1, date_created=first_activity_date)
node_one.add_log(
'log_added', params={'project': node_one._id}, auth=self.auth_1, log_date=first_activity_date, save=True
)
if second_activity_date:
node_two = ProjectFactory(creator=self.user_1, date_created=second_activity_date)
node_two.add_log(
'log_added', params={'project': node_two._id}, auth=self.auth_1, log_date=second_activity_date, save=True
)
示例4: TestUtilsTests
# 需要导入模块: from tests.factories import ProjectFactory [as 别名]
# 或者: from tests.factories.ProjectFactory import add_log [as 别名]
class TestUtilsTests(OsfTestCase):
def setUp(self):
super(TestUtilsTests, self).setUp()
self.node = ProjectFactory()
self.user = self.node.creator
self.auth = Auth(self.user)
def test_assert_logs(self):
def add_log(self):
self.node.add_log(NodeLog.UPDATED_FIELDS, {}, auth=self.auth)
wrapped = test_utils.assert_logs(NodeLog.UPDATED_FIELDS, 'node')(add_log)
wrapped(self)
def test_assert_logs_fail(self):
def dont_add_log(self):
pass
wrapped = test_utils.assert_logs(NodeLog.UPDATED_FIELDS, 'node')(dont_add_log)
assert_raises(AssertionError, lambda: wrapped(self))
def test_assert_logs_stacked(self):
def add_log(self):
self.node.add_log(NodeLog.UPDATED_FIELDS, {}, auth=self.auth)
def add_two_logs(self):
add_log(self)
self.node.add_log(NodeLog.CONTRIB_ADDED, {}, auth=self.auth)
wrapped = test_utils.assert_logs(NodeLog.UPDATED_FIELDS, 'node', -2)(
test_utils.assert_logs(NodeLog.CONTRIB_ADDED, 'node')(add_two_logs)
)
wrapped(self)
def test_assert_not_logs_pass(self):
def dont_add_log(self):
pass
wrapped = test_utils.assert_not_logs(NodeLog.UPDATED_FIELDS, 'node')(dont_add_log)
wrapped(self)
def test_assert_not_logs_fail(self):
def add_log(self):
self.node.add_log(NodeLog.UPDATED_FIELDS, {}, auth=self.auth)
wrapped = test_utils.assert_not_logs(NodeLog.UPDATED_FIELDS, 'node')(add_log)
assert_raises(AssertionError, lambda: wrapped(self))
示例5: TestWatching
# 需要导入模块: from tests.factories import ProjectFactory [as 别名]
# 或者: from tests.factories.ProjectFactory import add_log [as 别名]
class TestWatching(OsfTestCase):
def setUp(self):
super(TestWatching, self).setUp()
self.user = UserFactory()
self.project = ProjectFactory(creator=self.user)
# add some log objects
api_key = ApiKeyFactory()
self.user.api_keys.append(api_key)
self.user.save()
self.consolidate_auth = Auth(user=self.user, api_key=api_key)
# Clear project logs
self.project.logs = []
self.project.save()
# A log added 100 days ago
self.project.add_log(
'project_created',
params={'project': self.project._primary_key},
auth=self.consolidate_auth,
log_date=dt.datetime.utcnow() - dt.timedelta(days=100),
save=True,
)
# Set the ObjectId to correspond with the log date
# A log added now
self.last_log = self.project.add_log(
'tag_added',
params={'project': self.project._primary_key},
auth=self.consolidate_auth, log_date=dt.datetime.utcnow(),
save=True,
)
# Clear watched list
self.user.watched = []
self.user.save()
def test_watch_adds_to_watched_list(self):
n_watched_then = len(self.user.watched)
# A user watches a WatchConfig
config = WatchConfigFactory(node=self.project)
self.user.watch(config)
n_watched_now = len(self.user.watched)
assert_equal(n_watched_now, n_watched_then + 1)
assert_true(self.user.is_watching(self.project))
def test_unwatch_removes_from_watched_list(self):
# The user has already watched a project
self._watch_project(self.project)
config = WatchConfigFactory(node=self.project)
n_watched_then = len(self.user.watched)
self.user.unwatch(config)
n_watched_now = len(self.user.watched)
assert_equal(n_watched_now, n_watched_then - 1)
assert_false(self.user.is_watching(self.project))
@unittest.skip("Won't work because the old log's id doesn't encode the "
"correct log date")
def test_get_recent_log_ids(self):
self._watch_project(self.project)
log_ids = list(self.user.get_recent_log_ids())
assert_equal(self.last_log._id, log_ids[0])
# This part won't work
# TODO(sloria): Rethink.
assert_equal(len(log_ids), 1)
def test_get_recent_log_ids_since(self):
self._watch_project(self.project)
since = dt.datetime.utcnow().replace(tzinfo=utc) - dt.timedelta(days=101)
log_ids = list(self.user.get_recent_log_ids(since=since))
assert_equal(len(log_ids), 2)
def test_get_daily_digest_log_ids(self):
self._watch_project(self.project)
day_log_ids = list(self.user.get_daily_digest_log_ids())
assert_in(self.last_log._id, day_log_ids)
def _watch_project(self, project):
watch_config = WatchConfigFactory(node=project)
self.user.watch(watch_config)
self.user.save()
def _unwatch_project(self, project):
watch_config = WatchConfigFactory(node=project)
self.user.watch(watch_config)
self.user.save()
示例6: TestWatching
# 需要导入模块: from tests.factories import ProjectFactory [as 别名]
# 或者: from tests.factories.ProjectFactory import add_log [as 别名]
class TestWatching(OsfTestCase):
def setUp(self):
super(TestWatching, self).setUp()
self.user = UserFactory()
self.project = ProjectFactory(creator=self.user)
# add some log objects
self.consolidate_auth = Auth(user=self.user)
self.project.save()
# A log added 100 days ago
self.project.add_log(
'tag_added',
params={'project': self.project._primary_key},
auth=self.consolidate_auth,
log_date=dt.datetime.utcnow() - dt.timedelta(days=100),
save=True,
)
# Set the ObjectId to correspond with the log date
# A log added now
self.last_log = self.project.add_log(
'tag_added',
params={'project': self.project._primary_key},
auth=self.consolidate_auth, log_date=dt.datetime.utcnow(),
save=True,
)
# Clear watched list
self.user.watched = []
self.user.save()
def test_watch_adds_to_watched_list(self):
n_watched_then = len(self.user.watched)
# A user watches a WatchConfig
config = WatchConfigFactory(node=self.project)
self.user.watch(config)
n_watched_now = len(self.user.watched)
assert_equal(n_watched_now, n_watched_then + 1)
assert_true(self.user.is_watching(self.project))
def test_unwatch_removes_from_watched_list(self):
# The user has already watched a project
self._watch_project(self.project)
config = WatchConfigFactory(node=self.project)
n_watched_then = len(self.user.watched)
self.user.unwatch(config)
n_watched_now = len(self.user.watched)
assert_equal(n_watched_now, n_watched_then - 1)
assert_false(self.user.is_watching(self.project))
@unittest.skip("Won't work because the old log's id doesn't encode the "
"correct log date")
def test_get_recent_log_ids(self):
self._watch_project(self.project)
log_ids = list(self.user.get_recent_log_ids())
assert_equal(self.last_log._id, log_ids[0])
# This part won't work
# TODO(sloria): Rethink.
assert_equal(len(log_ids), 1)
def test_get_recent_log_ids_since(self):
self._watch_project(self.project)
since = dt.datetime.utcnow().replace(tzinfo=utc) - dt.timedelta(days=101)
log_ids = list(self.user.get_recent_log_ids(since=since))
assert_equal(len(log_ids), 3)
def test_get_daily_digest_log_ids(self):
self._watch_project(self.project)
day_log_ids = list(self.user.get_daily_digest_log_ids())
assert_in(self.last_log._id, day_log_ids)
def _watch_project(self, project):
watch_config = WatchConfigFactory(node=project)
self.user.watch(watch_config)
self.user.save()
def _unwatch_project(self, project):
watch_config = WatchConfigFactory(node=project)
self.user.watch(watch_config)
self.user.save()
def test_paginate_helper(self):
self._watch_project(self.project)
logs = list(self.user.get_recent_log_ids())
size = 10
page = 0
total = len(logs)
paginated_logs, pages = paginate(
self.user.get_recent_log_ids(), total, page, size)
page_num = math.ceil(total / float(size))
assert_equal(len(list(paginated_logs)), total)
assert_equal(page_num, pages)
def test_paginate_no_negative_page_num(self):
self._watch_project(self.project)
logs = list(self.user.get_recent_log_ids())
size = 10
page = -1
total = len(logs)
with assert_raises(HTTPError):
paginate(self.user.get_recent_log_ids(), total, page, size)
#.........这里部分代码省略.........