@@ -115,6 +115,38 @@ def test_read(self, project):
115
115
assert result [0 ] == 1000
116
116
117
117
118
+ class TestS3AwsAccessGlobal :
119
+ @pytest .fixture (scope = "class" )
120
+ def project_config_update (self ):
121
+ return {
122
+ 'vars' : {
123
+ 'taxi_s3' : {
124
+ 'bucket' : 'https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/' ,
125
+ 'fmt' : 'TabSeparatedWithNames' ,
126
+ 'aws_access_key_id' : 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ,
127
+ 'aws_secret_access_key' : '1234567890123456789012345678901234567890' ,
128
+ }
129
+ }
130
+ }
131
+
132
+ @pytest .fixture (scope = "class" )
133
+ def models (self ):
134
+ return {
135
+ "s3_taxis_source.sql" : s3_taxis_full_source ,
136
+ "schema.yml" : schema_yaml ,
137
+ }
138
+
139
+ def test_role_arn_in_compiled_sql (self , project ):
140
+ # Only compile, don't run
141
+ result = run_dbt (["compile" , "--select" , "s3_taxis_source.sql" ], expect_pass = True )
142
+
143
+ # Assert the SQL contains the expected role_arn function call
144
+ assert (
145
+ ", 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '1234567890123456789012345678901234567890'"
146
+ in result .results [0 ].node .compiled_code
147
+ )
148
+
149
+
118
150
class TestS3RoleArnGlobal :
119
151
@pytest .fixture (scope = "class" )
120
152
def project_config_update (self ):
@@ -123,7 +155,7 @@ def project_config_update(self):
123
155
'taxi_s3' : {
124
156
'bucket' : 'https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/' ,
125
157
'fmt' : 'TabSeparatedWithNames' ,
126
- 'role_arn' : 'arn:aws:iam::123456789012:role/my-role'
158
+ 'role_arn' : 'arn:aws:iam::123456789012:role/my-role' ,
127
159
}
128
160
}
129
161
}
@@ -140,4 +172,7 @@ def test_role_arn_in_compiled_sql(self, project):
140
172
result = run_dbt (["compile" , "--select" , "s3_taxis_source.sql" ], expect_pass = True )
141
173
142
174
# Assert the SQL contains the expected role_arn function call
143
- assert "extra_credentials(role_arn='arn:aws:iam::123456789012:role/my-role')" in result .results [0 ].node .compiled_code
175
+ assert (
176
+ "extra_credentials(role_arn='arn:aws:iam::123456789012:role/my-role')"
177
+ in result .results [0 ].node .compiled_code
178
+ )
0 commit comments