Example #1
0
    def test_get_target_metadata(self):
        """
        Test MQTT backend get_target_metadata function
        """

        # User objects
        user = _create_user('John')
        user_metadata = {'id': user.pk, 'name': user.get_full_name()}
        self.assertEqual(json.dumps(user_metadata),
                         json.dumps(get_target_metadata(user)))

        # XForm objects
        xform = MagicMock()
        xform.pk = 1337
        xform.title = 'Test Form'
        xform.id_string = 'Test_Form_ID'
        xform._meta.model_name = XFORM
        xform_metadata = {
            'id': 1337,
            'name': 'Test Form',
            'form_id': 'Test_Form_ID'
        }
        self.assertEqual(json.dumps(xform_metadata),
                         json.dumps(get_target_metadata(xform)))

        # Project objects
        project = MagicMock()
        project.pk = 7331
        project.name = 'Test Project'
        project._meta.model_name = PROJECT
        project_metadata = {'id': 7331, 'name': 'Test Project'}
        self.assertEqual(json.dumps(project_metadata),
                         json.dumps(get_target_metadata(project)))
Example #2
0
    def test_get_target_metadata(self):
        """
        Test MQTT backend get_target_metadata function
        """

        # User objects
        user = _create_user('John')
        user_metadata = {'id': user.pk, 'name': user.get_full_name()}
        self.assertEqual(
            json.dumps(user_metadata), json.dumps(get_target_metadata(user)))

        # XForm objects
        xform = MagicMock()
        xform.pk = 1337
        xform.title = 'Test Form'
        xform.id_string = 'Test_Form_ID'
        xform._meta.model_name = XFORM
        xform_metadata = {
            'id': 1337,
            'name': 'Test Form',
            'form_id': 'Test_Form_ID'
        }
        self.assertEqual(
            json.dumps(xform_metadata), json.dumps(get_target_metadata(xform)))

        # Project objects
        project = MagicMock()
        project.pk = 7331
        project.name = 'Test Project'
        project._meta.model_name = PROJECT
        project_metadata = {'id': 7331, 'name': 'Test Project'}
        self.assertEqual(
            json.dumps(project_metadata),
            json.dumps(get_target_metadata(project)))
Example #3
0
 def _mock_get_up(pk=None):
     result = MagicMock()
     result.state = 'uploaded'
     if pk == '1111':
         result.pk = '1111'
     else:
         result.pk = '2222'
     return result
Example #4
0
 def _mock_get_up(pk=None):
     result = MagicMock()
     result.state = 'uploaded'
     if pk == '1111':
         result.pk = '1111'
     else:
         result.pk = '2222'
     return result
Example #5
0
 def _mock_get(pk=None):
     result = MagicMock()
     if pk == '1111':
         result.state = 'published'
         result.pk = '1111'
     else:
         result.state = 'uploaded'
         result.pk = '2222'
     return result
Example #6
0
    def test_delete_tag_document(self, name, pk, err_msg=None, ix_path=None):
        # Create mock
        offering = MagicMock()
        offering.pk = pk

        # Create indexes
        self._create_index_dir()

        path = self._path
        if ix_path:
            from django.conf import settings
            path = os.path.join(settings.BASEDIR, ix_path)

        # Build the tag manager
        tm = tag_manager.TagManager(path)

        error = None
        try:
            tm.delete_tag(offering)
        except Exception as e:
            error = e

        # Check response
        if not err_msg:
            self.assertEquals(error, None)
            # Check that the index does not exists
            index = open_dir(self._path)
            with index.searcher() as searcher:
                query = QueryParser('id',
                                    index.schema).parse(unicode(offering.pk))
                self.assertEquals(len(searcher.search(query)), 0)
        else:
            self.assertTrue(isinstance(error, ValueError))
            self.assertEquals(unicode(error), err_msg)
Example #7
0
    def test_remove_review(self, name, user_check, side_effect=None):
        # Create Mocks
        #if name == 'manager':
        #    import ipdb; ipdb.set_trace()

        rev_object = MagicMock()
        rev_object.pk = '333333'
        rev_object.user = self.user
        rev_object.organization = self.org
        self.user.userprofile.rated_offerings = [self.offering.pk]
        self.offering.rating = 3.75
        self.offering.comments = ['333333', '444444', '555555', '666666']
        rev_object.offering = self.offering
        rev_object.rating = 3
        review_manager.Review = MagicMock()
        review_manager.Review.objects.get.return_value = rev_object

        if side_effect:
            side_effect(self, rev_object)

        error = False
        try:
            rm = review_manager.ReviewManager()
            rm.remove_review(self.user, '333333')
        except:
            error = True

        # Check result
        self.assertFalse(error)
        self.assertFalse('333333' in self.offering)

        self.offering.save.assert_called_once_with()
        rev_object.delete.assert_called_once_with()
        # Check user or organization models
        user_check(self)
    def setUp(self):
        sdr_manager.Organization = MagicMock()
        org = MagicMock()
        org.pk = '1111'
        sdr_manager.Organization.objects.filter.return_value = [org]

        # Create Order mock
        self._order = MagicMock()
        self._order.owner_organization = org

        self._contract = MagicMock()
        self._contract.pricing_model = {
            'pay_per_use': [{
                'unit': 'invocation'
            }]
        }
        self._contract.correlation_number = 1
        self._contract.last_usage = None

        sdr_manager.Order = MagicMock()
        sdr_manager.Order.objects.get.return_value = self._order
        self._order.get_product_contract.return_value = self._contract

        self._user = MagicMock()
        self._user.is_staff = True
        self._user.userprofile.organizations = [{
            'organization': '1111'
        }]
        sdr_manager.User = MagicMock()
        sdr_manager.User.objects.get.return_value = self._user

        self._timestamp = datetime.strptime('2015-10-20 17:31:57.100', '%Y-%m-%d %H:%M:%S.%f')
Example #9
0
    def test_remove_review(self, name, user_check, side_effect=None):
        # Create Mocks
        #if name == 'manager':
        #    import ipdb; ipdb.set_trace()

        rev_object = MagicMock()
        rev_object.pk = '333333'
        rev_object.user = self.user
        rev_object.organization = self.org
        self.user.userprofile.rated_offerings = [self.offering.pk]
        self.offering.rating = 3.75
        self.offering.comments = ['333333', '444444', '555555', '666666']
        rev_object.offering = self.offering
        rev_object.rating = 3
        review_manager.Review = MagicMock()
        review_manager.Review.objects.get.return_value = rev_object

        if side_effect:
            side_effect(self, rev_object)

        error = False
        try:
            rm = review_manager.ReviewManager()
            rm.remove_review(self.user, '333333')
        except:
            error = True

        # Check result
        self.assertFalse(error)
        self.assertFalse('333333' in self.offering)

        self.offering.save.assert_called_once_with()
        rev_object.delete.assert_called_once_with()
        # Check user or organization models
        user_check(self)
Example #10
0
    def test_update_tags(self, create_dir, pk, tags):
        if create_dir:
            os.makedirs(self._path)
            # Create schema
            schema = Schema(id=ID(stored=True, unique=True), tags=KEYWORD(stored=True), named_tags=KEYWORD(stored=True))
            # Create index
            index = create_in(self._path, schema)
            index_writer = index.writer()
            index_writer.add_document(id=unicode(pk), tags=unicode('test1 test2'), named_tags=unicode('test1 test2'))
            index_writer.commit()

        offering = MagicMock()
        offering.pk = pk
        offering.save = MagicMock()

        tag_man = tag_manager.TagManager(index_path=self._path)
        tag_man.update_tags(offering, tags)

        self.assertEquals(offering.tags, tags)

        # Query the index
        index = open_dir(self._path)
        with index.searcher() as searcher:
            query = QueryParser('id', index.schema).parse(unicode(pk))
            val = searcher.search(query)
            self.assertEquals(len(val), 1)
            self.assertEquals(val[0]['id'], unicode(pk))
            ret_tags = val[0]['tags'].split(' ')
            self.assertEquals(len(tags), len(ret_tags))

            for t in tags:
                self.assertTrue(t in ret_tags)
Example #11
0
 def test_create_no_luggage_pk(self):
     '''Should return an InternalError Luggage can\'t be save'''
     user = MagicMock()
     luggage = MagicMock()
     luggage.pk = None
     with self.assertRaises(InternalError):
         Log.create(user, luggage)
Example #12
0
    def setUp(self):
        views.RSS = MagicMock()
        self.rss_object = MagicMock()
        views.RSS.objects.all.return_value = [self.rss_object]

        # Create request user mock
        user_object = MagicMock()
        user_object.username = '******'
        user_object.pk = '1111'
        user_object.is_staff = False
        self.request = MagicMock()
        self.request.user = user_object

        # Create organization mock
        self.org_object = MagicMock()
        self.org_object.name = 'test_org'
        self.org_object.managers = ['1111']
        self.org_object.payment_info = {
            'number': '4567456745674567'
        }
        views.Organization = MagicMock()
        views.Organization.objects.get.return_value = self.org_object

        views.RSSManagerFactory = MagicMock()
        self._limits_factory = MagicMock()
        views.RSSManagerFactory.return_value = self._limits_factory

        self._exp_mock = MagicMock(name="ExpenditureManager")
        self._limits_factory.get_expenditure_manager.return_value = self._exp_mock
    def setUp(self):
        sdr_manager.Organization = MagicMock()
        org = MagicMock()
        org.pk = '1111'
        sdr_manager.Organization.objects.filter.return_value = [org]

        # Create Order mock
        self._order = MagicMock()
        self._order.owner_organization = org

        self._contract = MagicMock()
        self._contract.pricing_model = {
            'pay_per_use': [{
                'unit': 'invocation'
            }]
        }
        self._contract.correlation_number = 1
        self._contract.last_usage = None

        sdr_manager.Order = MagicMock()
        sdr_manager.Order.objects.get.return_value = self._order
        self._order.get_product_contract.return_value = self._contract

        self._user = MagicMock()
        self._user.is_staff = True
        self._user.userprofile.organizations = [{
            'organization': '1111'
        }]
        sdr_manager.User = MagicMock()
        sdr_manager.User.objects.get.return_value = self._user

        self._timestamp = datetime.strptime('2015-10-20 17:31:57.100', '%Y-%m-%d %H:%M:%S.%f')
Example #14
0
    def setUp(self):
        views.RSS = MagicMock()
        self.rss_object = MagicMock()
        views.RSS.objects.all.return_value = [self.rss_object]

        # Create request user mock
        user_object = MagicMock()
        user_object.username = '******'
        user_object.pk = '1111'
        user_object.is_staff = False
        self.request = MagicMock()
        self.request.user = user_object

        # Create organization mock
        self.org_object = MagicMock()
        self.org_object.name = 'test_org'
        self.org_object.managers = ['1111']
        self.org_object.payment_info = {'number': '4567456745674567'}
        views.Organization = MagicMock()
        views.Organization.objects.get.return_value = self.org_object

        views.RSSManagerFactory = MagicMock()
        self._limits_factory = MagicMock()
        views.RSSManagerFactory.return_value = self._limits_factory

        self._exp_mock = MagicMock(name="ExpenditureManager")
        self._limits_factory.get_expenditure_manager.return_value = self._exp_mock
Example #15
0
    def setUp(self):
        # Create Mocks
        cdr_manager.RSSAdaptorThread = MagicMock()

        self._conn = MagicMock()
        cdr_manager.get_database_connection = MagicMock()
        cdr_manager.get_database_connection.return_value = self._conn

        self._conn.wstore_organization.find_and_modify.side_effect = [{'correlation_number': 1}, {'correlation_number': 2}]

        self._order = MagicMock()
        self._order.order_id = '1'
        self._order.owner_organization.name = 'customer'

        self._contract = MagicMock()
        self._contract.revenue_class = 'one time'
        self._contract.offering = '61004aba5e05acc115f022f0'
        self._contract.item_id = '3'
        self._contract.pricing_model = {
            'general_currency': 'EUR'
        }

        offering = MagicMock()
        offering.pk = '61004aba5e05acc115f022f0'
        offering.off_id = '4'
        offering.name = 'offering'
        offering.version = '1.0'
        offering.owner_organization.name = 'provider'
        offering.owner_organization.pk = '61004aba5e05acc115f022f0'

        cdr_manager.Offering = MagicMock()
        cdr_manager.Offering.objects.get.return_value = offering
Example #16
0
 def test_create_no_luggage_pk(self):
     '''Should return an InternalError Luggage can\'t be save'''
     user = MagicMock()
     luggage = MagicMock()
     luggage.pk = None
     with self.assertRaises(InternalError):
         Log.create(user, luggage)
Example #17
0
    def test_delete_tag_document(self, name, pk, err_msg=None, ix_path=None):
        # Create mock
        offering = MagicMock()
        offering.pk = pk

        # Create indexes
        self._create_index_dir()

        path = self._path
        if ix_path:
            from django.conf import settings
            path = os.path.join(settings.BASEDIR, ix_path)

        # Build the tag manager
        tm = tag_manager.TagManager(path)

        error = None
        try:
            tm.delete_tag(offering)
        except Exception as e:
            error = e

        # Check response
        if not err_msg:
            self.assertEquals(error, None)
            # Check that the index does not exists
            index = open_dir(self._path)
            with index.searcher() as searcher:
                query = QueryParser('id', index.schema).parse(unicode(offering.pk))
                self.assertEquals(len(searcher.search(query)), 0)
        else:
            self.assertTrue(isinstance(error, ValueError))
            self.assertEquals(unicode(error), err_msg)
Example #18
0
    def test_create_review(self,
                           review,
                           exp_rating,
                           side_effect=None,
                           org_comment=False,
                           err_type=None,
                           err_msg=None):

        # Create review mock
        review_object = MagicMock()
        rev = MagicMock()
        rev.pk = '111111'
        review_object.objects.create.return_value = rev
        review_manager.Review = review_object

        # Create review manager
        rm = review_manager.ReviewManager()

        if side_effect:
            side_effect(self)

        exception = None
        try:
            rm.create_review(self.user, self.offering, review)
        except Exception as e:
            exception = e

        # Check calls and objects
        if not err_type:
            self.assertEquals(exception, None)

            if not self.offering.open:
                review_manager.Purchase.objects.get.assert_called_once_with(
                    owner_organization=self.org, offering=self.offering)

            review_object.objects.create.assert_called_once_with(
                user=self.user,
                organization=self.org,
                offering=self.offering,
                timestamp=self.datetime,
                title=review['title'],
                comment=review['comment'],
                rating=review['rating'])
            self.assertEquals(self.offering.rating, exp_rating)
            self.assertEquals(self.offering.comments[0], rev.pk)

            if not org_comment:
                self.assertTrue(
                    self.offering.pk in self.user.userprofile.rated_offerings)
                self.user.userprofile.save.assert_called_once_with()
            else:
                self.assertTrue({
                    'user': self.user.pk,
                    'offering': self.offering.pk
                } in self.org.rated_offerings)
                self.org.save.assert_called_once_with()
        else:
            self.assertTrue(isinstance(exception, err_type))
            self.assertEquals(unicode(e), err_msg)
Example #19
0
 def test_create_employee_without_current_flight(self):
     '''Should return an Employee.DoesNotExist error'''
     user = MagicMock()
     user.employee.current_flight = None
     luggage = MagicMock()
     luggage.pk = True
     with self.assertRaises(FieldError):
         Log.create(user, luggage)
Example #20
0
 def test_create_employee_without_current_flight(self):
     '''Should return an Employee.DoesNotExist error'''
     user = MagicMock()
     user.employee.current_flight = None
     luggage = MagicMock()
     luggage.pk = True
     with self.assertRaises(FieldError):
         Log.create(user, luggage)
 def objects_get_or_create(*args, **kwargs):
     task = MagicMock()
     queue.put({ k: v for k, v in kwargs.items() })
     task.pk = kwargs['taskid']
     for name, value in kwargs.items():
         setattr(task, name, value)
     queue.close()
     return (task, True)
Example #22
0
 def _mock_get(pk=None):
     result = MagicMock()
     if pk == '1111':
         result = self._published_offering
     else:
         result.state = 'uploaded'
         result.pk = '2222'
     return result
    def test_class_name_is_divider_model(self):
        obj = MagicMock()
        request = MagicMock()
        obj.pk = 1
        obj.__class__.__name__ = str('DefaultDivider')

        self.assertTrue(UserAccessPermission().check_divider_permission(
            request=request, obj=obj))
    def _already_owned_bundle(self):
        bundle_offering = MagicMock()
        bundle_offering.pk = '111111'
        bundle_offering.name = 'Bundle'
        bundle_offering.off_id = '6'
        self._offering_inst.bundled_offerings = ['111111']
        self._customer.userprofile.current_organization.acquired_offerings = ['111111']

        ordering_management.Offering.objects.get.side_effect = [self._offering_inst, bundle_offering]
Example #25
0
    def _test_upload(self,
                     mock_method,
                     collection,
                     data,
                     file_,
                     side_effect,
                     error,
                     code,
                     msg,
                     asset_id=None):
        content_type = 'application/json'

        if file_:
            f = StringIO()
            f.name = 'test_file.txt'
            f.write('test file')
            content = {'json': json.dumps(data), 'file': f}
            content_type = MULTIPART_CONTENT
        else:
            content = json.dumps(data)

        resource = MagicMock()
        resource.pk = "123456"
        resource.get_url.return_value = 'http://locationurl.com/'
        resource.get_uri.return_value = 'http://uri.com/'
        mock_method.return_value = resource

        def validator(request, body_response):
            if not error:
                # Check correct call
                argv = (self.user,
                        data) if asset_id is None else (asset_id, self.user,
                                                        data)

                if not file_:
                    mock_method.assert_called_once_with(*argv)
                else:
                    expected_file = request.FILES['file']
                    mock_method.assert_called_once_with(*argv,
                                                        file_=expected_file)

                self.assertEquals(
                    body_response, {
                        'contentType': 'application/zip',
                        'content': 'http://locationurl.com/',
                        'id': '123456',
                        'href': 'http://uri.com/'
                    })
            else:
                self.assertEqual(body_response, {
                    'error': msg,
                    'result': 'error'
                })

        self._test_post_api(collection, content, content_type, side_effect,
                            code, validator, asset_id)
Example #26
0
    def test_userid_filter(self, mock_get_user):
        mock_user = MagicMock()
        mock_user.pk = '1234'
        mock_get_user.return_value = mock_user

        user_filter = UserIdFilter()
        test_record = MockRecord()
        user_filter.filter(test_record)

        self.assertEqual(test_record.userid, '1234')
Example #27
0
    def test_create_review(self, review, exp_rating, side_effect=None, org_comment=False, err_type=None, err_msg=None):

        # Create review mock
        review_object = MagicMock()
        rev = MagicMock()
        rev.pk = '111111'
        review_object.objects.create.return_value = rev
        review_manager.Review = review_object

        # Create review manager
        rm = review_manager.ReviewManager()

        if side_effect:
            side_effect(self)

        exception = None
        try:
            rm.create_review(self.user, self.offering, review)
        except Exception as e:
            exception = e

        # Check calls and objects
        if not err_type:
            self.assertEquals(exception, None)

            if not self.offering.open:
                review_manager.Purchase.objects.get.assert_called_once_with(
                    owner_organization=self.org,
                    offering=self.offering
                )

            review_object.objects.create.assert_called_once_with(
                user=self.user,
                organization=self.org,
                offering=self.offering,
                timestamp=self.datetime,
                title=review['title'],
                comment=review['comment'],
                rating=review['rating']
            )
            self.assertEquals(self.offering.rating, exp_rating)
            self.assertEquals(self.offering.comments[0], rev.pk)

            if not org_comment:
                self.assertTrue(self.offering.pk in self.user.userprofile.rated_offerings)
                self.user.userprofile.save.assert_called_once_with()
            else:
                self.assertTrue({'user': self.user.pk, 'offering': self.offering.pk} in self.org.rated_offerings)
                self.org.save.assert_called_once_with()
        else:
            self.assertTrue(isinstance(exception, err_type))
            self.assertEquals(unicode(e), err_msg)
    def _already_owned_bundle(self):
        bundle_offering = MagicMock()
        bundle_offering.pk = '111111'
        bundle_offering.name = 'Bundle'
        bundle_offering.off_id = '6'
        self._offering_inst.bundled_offerings = ['111111']
        self._customer.userprofile.current_organization.acquired_offerings = [
            '111111'
        ]

        ordering_management.Offering.objects.get.side_effect = [
            self._offering_inst, bundle_offering
        ]
Example #29
0
    def test_upload_asset(self,
                          data,
                          file_=False,
                          side_effect=None,
                          error=False,
                          code=200,
                          msg='Created'):

        content_type = 'application/json'

        if file_:
            f = StringIO()
            f.name = 'test_file.txt'
            f.write('test file')
            content = {'json': json.dumps(data), 'file': f}
            content_type = MULTIPART_CONTENT
        else:
            content = json.dumps(data)

        resource = MagicMock()
        resource.pk = "123456"
        resource.get_url.return_value = 'http://locationurl.com/'
        resource.get_uri.return_value = 'http://uri.com/'
        self.am_instance.upload_asset.return_value = resource

        def validator(request, body_response):
            if not error:
                # Check correct call
                if not file_:
                    self.am_instance.upload_asset.assert_called_once_with(
                        self.user, data)
                else:
                    expected_file = request.FILES['file']
                    self.am_instance.upload_asset.assert_called_once_with(
                        self.user, data, file_=expected_file)
                self.assertEquals(
                    body_response, {
                        'contentType': 'application/zip',
                        'content': 'http://locationurl.com/',
                        'id': '123456',
                        'href': 'http://uri.com/'
                    })
            else:
                self.assertEqual(body_response, {
                    'error': msg,
                    'result': 'error'
                })

        self._test_post_api(views.UploadCollection, content, content_type,
                            side_effect, code, validator)
    def _mock_resource(self, info, provider):
        # Mock resource model
        resource = MagicMock()
        resource.pk = info['pk']
        resource.provider = provider
        resource.version = info['version']
        resource.content_type = info['content_type']
        resource.state = info['state']
        resource.download_link = info['download_link']
        resource.resource_type = info['type']
        resource.meta_info = {}

        resource.get_url.return_value = info['download_link']
        resource.get_uri.return_value = info['uri']

        return resource
    def _mock_resource(self, info, provider):
        # Mock resource model
        resource = MagicMock()
        resource.pk = info['pk']
        resource.provider = provider
        resource.version = info['version']
        resource.content_type = info['content_type']
        resource.state = info['state']
        resource.download_link = info['download_link']
        resource.resource_type = info['type']
        resource.meta_info = {}

        resource.get_url.return_value = info['download_link']
        resource.get_uri.return_value = info['uri']

        return resource
Example #32
0
    def setUp(self):
        # Create request user mock
        user_object = MagicMock()
        user_object.username = '******'
        user_object.pk = '1111'
        user_object.is_staff = False
        self.request = MagicMock()
        self.request.user = user_object

        # Create organization mock
        self.org_object = MagicMock()
        self.org_object.name = 'test_org'
        self.org_object.managers = ['1111']
        self.org_object.payment_info = {
            'number': '4567456745674567'
        }
        views.Organization = MagicMock()
        views.Organization.objects.get.return_value = self.org_object
Example #33
0
    def _create_review_mock(self, rev_data):
        review = MagicMock()
        review.pk = rev_data['id']

        usr = MagicMock()
        usr.username = rev_data['user']

        org = MagicMock()
        org.name = rev_data['organization']
        if usr.name == rev_data['organization']:
            usr.userprofile.current_organization = org

        review.user = usr
        review.organization = org
        review.title = rev_data['title']
        review.comment = rev_data['comment']
        review.rating = rev_data['rating']
        review.offering = self.offering
        review.timestamp = datetime.strptime(rev_data['timestamp'],
                                             '%Y-%m-%d %H:%M:%S.%f')

        if 'response' in rev_data:
            response = MagicMock()
            resp_user = MagicMock()
            resp_user.username = rev_data['response']['user']
            resp_org = MagicMock()
            resp_org.name = rev_data['response']['organization']
            if resp_user.name == rev_data['response']['organization']:
                resp_user.userprofile.current_organization = resp_org

            response.user = resp_user
            response.organization = resp_org
            response.title = rev_data['response']['title']
            response.response = rev_data['response']['response']
            response.timestamp = datetime.strptime(
                rev_data['response']['timestamp'], '%Y-%m-%d %H:%M:%S.%f')

            review.response = response
        else:
            review.response = None

        return review
Example #34
0
    def _create_review_mock(self, rev_data):
        review = MagicMock()
        review.pk = rev_data['id']

        usr = MagicMock()
        usr.username = rev_data['user']

        org = MagicMock()
        org.name = rev_data['organization']
        if usr.name == rev_data['organization']:
            usr.userprofile.current_organization = org

        review.user = usr
        review.organization = org
        review.title = rev_data['title']
        review.comment = rev_data['comment']
        review.rating = rev_data['rating']
        review.offering = self.offering
        review.timestamp = datetime.strptime(rev_data['timestamp'], '%Y-%m-%d %H:%M:%S.%f')

        if 'response' in rev_data:
            response = MagicMock()
            resp_user = MagicMock()
            resp_user.username = rev_data['response']['user']
            resp_org = MagicMock()
            resp_org.name = rev_data['response']['organization']
            if resp_user.name == rev_data['response']['organization']:
                resp_user.userprofile.current_organization = resp_org

            response.user = resp_user
            response.organization = resp_org
            response.title = rev_data['response']['title']
            response.response = rev_data['response']['response']
            response.timestamp = datetime.strptime(rev_data['response']['timestamp'], '%Y-%m-%d %H:%M:%S.%f')

            review.response = response
        else:
            review.response = None

        return review
Example #35
0
    def setUp(self):
        # Create request mock
        self.request = MagicMock()
        self.request.user = MagicMock()
        self.request.user.is_staff = True

        # Create user mocks
        user_mock1 = MagicMock()
        user_mock1.username = '******'
        user_mock1.first_name = 'Test'
        user_mock1.last_name = 'user1'
        user_mock1.pk = '1122'
        user_mock1.is_staff = True

        user_mock2 = MagicMock()
        user_mock2.username = '******'
        user_mock2.first_name = 'Test'
        user_mock2.last_name = 'user2'
        user_mock2.is_staff = False
        self.user_mocks = {
            'user1': user_mock1,
            'user2': user_mock2,
        }
Example #36
0
    def setUp(self):

        # Create mock request
        user_object = MagicMock()
        user_object.is_staff = False
        user_object.pk = '2222'
        user_object.userprofile.actor_id = 2
        user_object.username = '******'

        self.request = MagicMock()
        self.request.META.get.return_value = 'application/json'
        self.request.user = user_object

        # Mock user
        views.User = MagicMock()
        views.User.objects.get = MagicMock()
        views.User.objects.get.return_value = user_object

        views.Organization = MagicMock()
        self.org = MagicMock()
        self.org.name = 'test_org'
        self.org.managers = []
        views.Organization.objects.get.return_value = self.org
Example #37
0
    def setUp(self):

        # Create mock request
        user_object = MagicMock()
        user_object.is_staff = False
        user_object.pk = '2222'
        user_object.userprofile.actor_id = 2
        user_object.username = '******'

        self.request = MagicMock()
        self.request.META.get.return_value = 'application/json'
        self.request.user = user_object

        # Mock user
        views.User = MagicMock()
        views.User.objects.get = MagicMock()
        views.User.objects.get.return_value = user_object

        views.Organization = MagicMock()
        self.org = MagicMock()
        self.org.name = 'test_org'
        self.org.managers = []
        views.Organization.objects.get.return_value = self.org
Example #38
0
    def test_update_tags(self, create_dir, pk, tags):
        if create_dir:
            os.makedirs(self._path)
            # Create schema
            schema = Schema(id=ID(stored=True, unique=True),
                            tags=KEYWORD(stored=True),
                            named_tags=KEYWORD(stored=True))
            # Create index
            index = create_in(self._path, schema)
            index_writer = index.writer()
            index_writer.add_document(id=unicode(pk),
                                      tags=unicode('test1 test2'),
                                      named_tags=unicode('test1 test2'))
            index_writer.commit()

        offering = MagicMock()
        offering.pk = pk
        offering.save = MagicMock()

        tag_man = tag_manager.TagManager(index_path=self._path)
        tag_man.update_tags(offering, tags)

        self.assertEquals(offering.tags, tags)

        # Query the index
        index = open_dir(self._path)
        with index.searcher() as searcher:
            query = QueryParser('id', index.schema).parse(unicode(pk))
            val = searcher.search(query)
            self.assertEquals(len(val), 1)
            self.assertEquals(val[0]['id'], unicode(pk))
            ret_tags = val[0]['tags'].split(' ')
            self.assertEquals(len(tags), len(ret_tags))

            for t in tags:
                self.assertTrue(t in ret_tags)