-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathconftest.py
43 lines (32 loc) · 1.15 KB
/
conftest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import os
from typing import Any, Generator
import boto3
import pytest
from _pytest.fixtures import FixtureFunctionMarker
from botocore.client import BaseClient
from pyspark.sql import SparkSession
from moto import mock_aws
from create_spark_session import create_spark_session
@pytest.fixture(scope="session")
def spark_session(request: Any) -> SparkSession:
return create_spark_session(request)
@pytest.fixture(scope="function")
def aws_credentials() -> None:
"""Mocked AWS Credentials for moto."""
os.environ["AWS_ACCESS_KEY_ID"] = "testing"
os.environ["AWS_SECRET_ACCESS_KEY"] = "testing"
os.environ["AWS_SECURITY_TOKEN"] = "testing"
os.environ["AWS_SESSION_TOKEN"] = "testing"
os.environ["AWS_REGION"] = "us-east-1"
@pytest.fixture(scope="function")
def ssm_mock(
aws_credentials: FixtureFunctionMarker,
) -> Generator[BaseClient, None, None]:
with mock_aws():
yield boto3.client("ssm", region_name="us-east-1")
@pytest.fixture(scope="function")
def s3_mock(
aws_credentials: FixtureFunctionMarker,
) -> Generator[BaseClient, None, None]:
with mock_aws():
yield boto3.client("s3", region_name="us-east-1")