def test_rackspace_uploader_lookup_url_none(self, mock1):
        """Test RACKSPACE UPLOADER lookup returns None for non enabled CDN."""
        filename = 'test.jpg'
        with patch('pybossa.uploader.rackspace.pyrax.cloudfiles') as mycf:
            cdn_enabled_mock = PropertyMock(return_value=False)
            type(fake_container).cdn_enabled = cdn_enabled_mock
            mycf.get_container.return_value = fake_container

            u = RackspaceUploader()
            u.init_app(self.flask_app)
            res = u._lookup_url('rackspace', {'filename': filename,
                                              'container': 'user_3'})
            err_msg = "We should get the None"
            assert res is None, err_msg
 def test_rackspace_uploader_lookup_url_returns_failover_url_project(self, mock):
     """Test RACKSPACE UPLOADER lookup returns failover_url for project avatar."""
     filename = 'project_32.jpg'
     with patch('pybossa.uploader.rackspace.pyrax.cloudfiles') as mycf:
         cdn_enabled_mock = PropertyMock(return_value=False)
         type(fake_container).cdn_enabled = cdn_enabled_mock
         mycf.get_container.return_value = fake_container
         fake_container.make_public.side_effect = NoSuchObject
         u = RackspaceUploader()
         u.init_app(self.flask_app)
         res = u._lookup_url('rackspace', {'filename': filename,
                                           'container': 'user_3'})
         failover_url = 'https://localhost/static/img/placeholder.project.png'
         err_msg = "We should get the %s but we got %s " % (failover_url, res)
         assert res == failover_url, err_msg
 def test_rackspace_uploader_lookup_url_returns_failover_url_project(self, mock):
     """Test RACKSPACE UPLOADER lookup returns failover_url for project avatar."""
     filename = 'project_32.jpg'
     with patch('pybossa.uploader.rackspace.pyrax.cloudfiles') as mycf:
         cdn_enabled_mock = PropertyMock(return_value=False)
         type(fake_container).cdn_enabled = cdn_enabled_mock
         mycf.get_container.return_value = fake_container
         fake_container.make_public.side_effect = NoSuchObject
         u = RackspaceUploader()
         u.init_app(self.flask_app)
         res = u._lookup_url('rackspace', {'filename': filename,
                                           'container': 'user_3'})
         failover_url = 'https://localhost/static/img/placeholder.project.png'
         err_msg = "We should get the %s but we got %s " % (failover_url, res)
         assert res == failover_url, err_msg
    def test_rackspace_uploader_lookup_url_none(self, mock1):
        """Test RACKSPACE UPLOADER lookup returns None for non enabled CDN."""
        filename = 'test.jpg'
        with patch('pybossa.uploader.rackspace.pyrax.cloudfiles') as mycf:
            cdn_enabled_mock = PropertyMock(return_value=False)
            type(fake_container).cdn_enabled = cdn_enabled_mock
            mycf.get_container.return_value = fake_container

            u = RackspaceUploader()
            u.init_app(self.flask_app)
            res = u._lookup_url('rackspace', {
                'filename': filename,
                'container': 'user_3'
            })
            err_msg = "We should get the None"
            assert res is None, err_msg
    def test_rackspace_uploader_lookup_url(self, mock1, mock2):
        """Test RACKSPACE UPLOADER lookup returns a valid link."""
        uri = 'https://rackspace.com'
        filename = 'test.jpg'
        with patch('pybossa.uploader.rackspace.pyrax.cloudfiles') as mycf:
            cdn_enabled_mock = PropertyMock(return_value=True)
            type(fake_container).cdn_enabled = cdn_enabled_mock
            mycf.get_container.return_value = fake_container

            u = RackspaceUploader()
            u.init_app(self.flask_app)
            res = u._lookup_url('rackspace', {'filename': filename,
                                              'container': 'user_3'})
            expected_url = "%s/%s" % (uri, filename)
            err_msg = "We should get the following URL: %s" % expected_url
            assert res == expected_url, err_msg
    def test_rackspace_uploader_lookup_url(self, mock1, mock2):
        """Test RACKSPACE UPLOADER lookup returns a valid link."""
        uri = 'https://rackspace.com'
        filename = 'test.jpg'
        with patch('pybossa.uploader.rackspace.pyrax.cloudfiles') as mycf:
            cdn_enabled_mock = PropertyMock(return_value=True)
            type(fake_container).cdn_enabled = cdn_enabled_mock
            mycf.get_container.return_value = fake_container

            u = RackspaceUploader()
            u.init_app(self.flask_app)
            res = u._lookup_url('rackspace', {'filename': filename,
                                              'container': 'user_3'})
            expected_url = "%s/%s" % (uri, filename)
            err_msg = "We should get the following URL: %s" % expected_url
            assert res == expected_url, err_msg
 def test_rackspace_uploader_lookup_url_returns_failover_url_project_backwards_compat(self, mock):
     """Test RACKSPACE UPLOADER lookup returns failover_url for project
     avatar for old project avatars named with 'app'."""
     filename = 'app_32.jpg'
     with patch('pybossa.uploader.rackspace.pyrax.cloudfiles') as mycf:
         cdn_enabled_mock = PropertyMock(return_value=False)
         type(fake_container).cdn_enabled = cdn_enabled_mock
         mycf.get_container.return_value = fake_container
         fake_container.make_public.side_effect = NoSuchObject
         u = RackspaceUploader()
         u.init_app(self.flask_app)
         res = u._lookup_url('rackspace', {'filename': filename,
                                           'container': 'user_3'})
         failover_url = '{}/static/img/placeholder.project.png'.format(self.flask_app.config['SERVER_NAME'])
         err_msg = "We should get the %s but we got %s " % (failover_url, res)
         assert res.endswith(failover_url), err_msg
    def test_rackspace_uploader_lookup_url_enable_cdn(self, mock1, mock2):
        """Test RACKSPACE UPLOADER lookup enables CDN for non enabled CDN."""
        filename = 'test.jpg'
        with patch('pybossa.uploader.rackspace.pyrax.cloudfiles') as mycf:
            cdn_enabled_mock = PropertyMock(return_value=False)
            type(fake_container).cdn_enabled = cdn_enabled_mock
            mycf.get_container.return_value = fake_container

            u = RackspaceUploader()
            u.init_app(self.flask_app)
            res = u._lookup_url('rackspace', {'filename': filename,
                                              'container': 'user_3'})
            url = 'https://rackspace.com/test.jpg'
            err_msg = "We should get the %s but we got %s " % (url, res)
            assert res == url, err_msg
            calls = [call.make_public()]
            fake_container.assert_has_calls(calls, any_order=True)
    def test_rackspace_uploader_lookup_url_enable_cdn(self, mock1, mock2):
        """Test RACKSPACE UPLOADER lookup enables CDN for non enabled CDN."""
        filename = 'test.jpg'
        with patch('pybossa.uploader.rackspace.pyrax.cloudfiles') as mycf:
            cdn_enabled_mock = PropertyMock(return_value=False)
            type(fake_container).cdn_enabled = cdn_enabled_mock
            mycf.get_container.return_value = fake_container

            u = RackspaceUploader()
            u.init_app(self.flask_app)
            res = u._lookup_url('rackspace', {'filename': filename,
                                              'container': 'user_3'})
            url = 'https://rackspace.com/test.jpg'
            err_msg = "We should get the %s but we got %s " % (url, res)
            assert res == url, err_msg
            calls = [call.make_public()]
            fake_container.assert_has_calls(calls, any_order=True)