4747import static org .junit .jupiter .api .Assertions .assertThrows ;
4848
4949/**
50- * See <a href="https://github.com/mongodb/specifications/blob/master/source/mongodb-handshake/handshake.rst #test-plan">spec</a>
50+ * See <a href="https://github.com/mongodb/specifications/blob/master/source/mongodb-handshake/handshake.md #test-plan">spec</a>
5151 *
5252 * <p>
5353 * NOTE: This class also contains tests that aren't categorized as Prose tests.
@@ -175,16 +175,32 @@ public void test08NotLambda() {
175175 });
176176 }
177177
178+ @ Test
179+ public void test09ValidContainerAndFaasProvider () {
180+ withWrapper ()
181+ .withEnvironmentVariable ("AWS_EXECUTION_ENV" , "AWS_Lambda_java8" )
182+ .withEnvironmentVariable ("AWS_REGION" , "us-east-2" )
183+ .withEnvironmentVariable ("AWS_LAMBDA_FUNCTION_MEMORY_SIZE" , "1024" )
184+ .withEnvironmentVariable ("KUBERNETES_SERVICE_HOST" , "1" )
185+ .run (() -> {
186+ BsonDocument expected = createExpectedClientMetadataDocument (APP_NAME );
187+ expected .put ("env" , BsonDocument .parse ("{'name': 'aws.lambda', 'memory_mb': 1024, 'region': 'us-east-2', 'container': {'orchestrator': 'kubernetes'}}" ));
188+ BsonDocument actual = createActualClientMetadataDocument ();
189+ assertEquals (expected , actual );
190+
191+ performHello ();
192+ });
193+ }
194+
178195 // Additional tests, not specified as prose tests:
179196
180197 @ Test
181198 void testKubernetesMetadataIncluded () {
182199 withWrapper ()
183- .withEnvironmentVariable ("AWS_EXECUTION_ENV" , "AWS_Lambda_java8" )
184200 .withEnvironmentVariable ("KUBERNETES_SERVICE_HOST" , "kubernetes.default.svc.cluster.local" )
185201 .run (() -> {
186202 BsonDocument expected = createExpectedClientMetadataDocument (APP_NAME );
187- expected .put ("env" , BsonDocument .parse ("{'name': 'aws.lambda', ' container': {'orchestrator': 'kubernetes'}}" ));
203+ expected .put ("env" , BsonDocument .parse ("{'container': {'orchestrator': 'kubernetes'}}" ));
188204 BsonDocument actual = createActualClientMetadataDocument ();
189205 assertEquals (expected , actual );
190206
@@ -199,10 +215,9 @@ void testDockerMetadataIncluded() {
199215 pathsMockedStatic .when (() -> Files .exists (path )).thenReturn (true );
200216
201217 withWrapper ()
202- .withEnvironmentVariable ("AWS_EXECUTION_ENV" , "AWS_Lambda_java8" )
203218 .run (() -> {
204219 BsonDocument expected = createExpectedClientMetadataDocument (APP_NAME );
205- expected .put ("env" , BsonDocument .parse ("{'name': 'aws.lambda', ' container': {'runtime': 'docker'}}" ));
220+ expected .put ("env" , BsonDocument .parse ("{'container': {'runtime': 'docker'}}" ));
206221 BsonDocument actual = createActualClientMetadataDocument ();
207222 assertEquals (expected , actual );
208223
@@ -218,12 +233,10 @@ void testDockerAndKubernetesMetadataIncluded() {
218233 pathsMockedStatic .when (() -> Files .exists (path )).thenReturn (true );
219234
220235 withWrapper ()
221- .withEnvironmentVariable ("AWS_EXECUTION_ENV" , "AWS_Lambda_java8" )
222236 .withEnvironmentVariable ("KUBERNETES_SERVICE_HOST" , "kubernetes.default.svc.cluster.local" )
223237 .run (() -> {
224238 BsonDocument expected = createExpectedClientMetadataDocument (APP_NAME );
225- expected .put ("env" , BsonDocument .parse ("{'name': 'aws.lambda', 'container': {'runtime': 'docker', "
226- + "'orchestrator': 'kubernetes'}}" ));
239+ expected .put ("env" , BsonDocument .parse ("{'container': {'runtime': 'docker', 'orchestrator': 'kubernetes'}}" ));
227240 BsonDocument actual = createActualClientMetadataDocument ();
228241 assertEquals (expected , actual );
229242
0 commit comments