Files
blender-cloud/tests/test_stats.py

42 lines
1.7 KiB
Python
Raw Normal View History

import copy
from bson import ObjectId
from pillar.tests import common_test_data as ctd
from abstract_cloud_test import AbstractCloudTest
class StatsTest(AbstractCloudTest):
def test_count_public_nodes(self):
self.enter_app_context()
# Create two public and two private projects. Only the assets from the
# public projects should be counted.
public1 = self.create_project_with_admin(
24 * 'a', project_overrides={'_id': ObjectId(), 'is_private': False})
public2 = self.create_project_with_admin(
24 * 'b', project_overrides={'_id': ObjectId(), 'is_private': False})
private1 = self.create_project_with_admin(
24 * 'c', project_overrides={'_id': ObjectId(), 'is_private': True})
private2 = self.create_project_with_admin(
24 * 'd', project_overrides={'_id': ObjectId(), 'is_private': None})
self.assertEqual(4, self.app.db('projects').count())
# Create asset node
self.assertEqual('asset', ctd.EXAMPLE_NODE['node_type'])
example_node = copy.deepcopy(ctd.EXAMPLE_NODE)
del example_node['_id']
del example_node['project']
for pid in (public1, public2, private1, private2):
self.create_node({'_id': ObjectId(), 'project': pid, **example_node})
self.create_node({'_id': ObjectId(), 'project': pid, **example_node})
self.create_node({'_id': ObjectId(), 'project': pid, **example_node})
self.create_node({'_id': ObjectId(), 'project': pid, **example_node})
# Count the asset nodes
from cloud.stats import count_nodes
count = count_nodes({'node_type': 'asset'})
self.assertEqual(8, count)