Ejemplo n.º 1
0
 def test_upload_to_s3_success(self, mock_boto_resource):
     """Test upload_to_s3 method with mock s3."""
     bucket_name = "my_bucket"
     s3_client = Mock()
     s3_client.Bucket.create.return_value = Mock()
     s3_client.Bucket.return_value.upload_file.return_value = Mock()
     mock_boto_resource.return_value = s3_client
     s3_client = boto3.resource("s3")
     s3_client.Bucket(bucket_name).create()
     with NamedTemporaryFile(delete=False) as t_file:
         success = upload_to_s3(bucket_name, "/file.txt", t_file.name)
     self.assertTrue(success)
     os.remove(t_file.name)
Ejemplo n.º 2
0
    def test_put_key(self):
        s3_session = Mock()
        value = Mock()
        bucket_name = "bucket"
        key = "key"

        self.bucket_service.put_key(s3_session, bucket_name, key, value)

        self.assertTrue(value.encode.called_with("utf-8"))
        self.assertTrue(s3_session.Bucket.called_with(bucket_name))
        self.assertTrue(
            s3_session.Bucket(bucket_name).put_object.called_with(value.encode(), key)
        )
Ejemplo n.º 3
0
 def test_upload_failure(self, mock_boto_resource):
     """Test upload_to_s3 method with mock s3."""
     bucket_name = 'my_bucket'
     s3_client = Mock()
     s3_client.Bucket.create.return_value = Mock()
     s3_client.Bucket.return_value.upload_file.side_effect = ClientError(
         {'Error': {}}, 'Create')
     mock_boto_resource.return_value = s3_client
     s3_client = boto3.resource('s3')
     s3_client.Bucket(bucket_name).create()
     t_file = NamedTemporaryFile(delete=False)
     success = upload_to_s3(bucket_name, '/file.txt', t_file.name)
     self.assertFalse(success)
     os.remove(t_file.name)
Ejemplo n.º 4
0
    def test_s3_bucket_update(self):
        mock_url = "http://www.meo.pt"
        con = Mock()
        s3 = Mock()
        string_io = Mock()

        responses.add(responses.POST,
                      mock_url,
                      json=json.loads(constants.example_json),
                      status=200)
        string_io.getvalue.return_value = "test_value"

        fetch_meo.fetch_and_parse_MEO(mock_url, con, s3, string_io)

        s3.Bucket.assert_called_with('www.cinefilopobre.com')
        s3.Bucket('www.cinefilopobre.com').put_object.assert_called_with(
            Key='out.csv', Body="test_value")