def test_lowercase_extension(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(
         FunctionName=get_function_name("LowerCaseExtensionFunction"),
         Payload=json.dumps({'x': 1}),
     )
     raw_payload = response['Payload'].read().decode('utf-8')
     result = json.loads(raw_payload)
     self.assertEqual(2, result)
示例#2
0
 def test_matrix(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(FunctionName=get_function_name("MatrixFunction"))
     raw_payload = response['Payload'].read().decode('utf-8')
     result = json.loads(raw_payload)
     self.assertEqual(3, len(result))
     self.assertIn(4, result)
     self.assertIn(5, result)
     self.assertIn(6, result)
 def test_script(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(
         FunctionName=get_function_name("ExampleFunction"),
         Payload=json.dumps({'x': 1}),
     )
     raw_payload = response['Payload'].read().decode('utf-8')
     result = json.loads(raw_payload)
     self.assertEqual(2, result)
 def test_multiple_arguments(self):
     lambda_client = self.get_client()
     payload = {'x': 'bar', 'y': 1}
     response = lambda_client.invoke(
         FunctionName=get_function_name("MultipleArgumentsFunction"),
         Payload=json.dumps(payload),
     )
     raw_payload = response['Payload'].read().decode('utf-8')
     result = json.loads(raw_payload)
     self.assertDictEqual(payload, result)
 def test_long_argument(self):
     lambda_client = self.get_client()
     payload = {x: x for x in range(0, 100000)}
     response = lambda_client.invoke(
         FunctionName=get_function_name("VariableArgumentsFunction"),
         Payload=json.dumps(payload),
     )
     raw_payload = response['Payload'].read().decode('utf-8')
     result = json.loads(raw_payload)
     self.assertEqual(1, result)
 def test_missing_argument(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(
         FunctionName=get_function_name("ExampleFunction"))
     raw_payload = response['Payload'].read().decode('utf-8')
     json_payload = json.loads(raw_payload)
     self.assertEqual('Unhandled', response['FunctionError'])
     self.assertIn('argument "x" is missing, with no default',
                   json_payload['errorMessage'])
     self.assertEqual('simpleError', json_payload['errorType'])
 def test_missing_source_file(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(
         FunctionName=get_function_name("MissingSourceFileFunction"),
         Payload=json.dumps({'y': 1}),
     )
     raw_payload = response['Payload'].read().decode('utf-8')
     json_payload = json.loads(raw_payload)
     self.assertEqual('Unhandled', response['FunctionError'])
     self.assertIn('Source file does not exist: missing.[R|r]',
                   json_payload['errorMessage'])
     self.assertEqual('simpleError', json_payload['errorType'])
 def test_function_as_variable(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(
         FunctionName=get_function_name("HandlerAsVariableFunction"),
         Payload=json.dumps({'y': 1}),
     )
     raw_payload = response['Payload'].read().decode('utf-8')
     json_payload = json.loads(raw_payload)
     self.assertEqual('Unhandled', response['FunctionError'])
     self.assertIn('Function "handler_as_variable" does not exist',
                   json_payload['errorMessage'])
     self.assertEqual('simpleError', json_payload['errorType'])
 def test_missing_library(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(
         FunctionName=get_function_name("MissingLibraryFunction"),
         Payload=json.dumps({'y': 1}),
     )
     raw_payload = response['Payload'].read().decode('utf-8')
     json_payload = json.loads(raw_payload)
     self.assertEqual('Unhandled', response['FunctionError'])
     self.assertIn('there is no package called ‘Matrix’',
                   json_payload['errorMessage'])
     error_type = 'packageNotFoundError' if get_version(
     ) == '3_6_0' else 'simpleError'
     self.assertEqual(error_type, json_payload['errorType'])
 def test_unused_argument(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(
         FunctionName=get_function_name("ExampleFunction"),
         Payload=json.dumps({
             'x': 1,
             'y': 1
         }),
     )
     raw_payload = response['Payload'].read().decode('utf-8')
     json_payload = json.loads(raw_payload)
     self.assertEqual('Unhandled', response['FunctionError'])
     self.assertIn('unused argument (y = 1)', json_payload['errorMessage'])
     self.assertEqual('simpleError', json_payload['errorType'])
 def test_no_debug_logging(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(
         FunctionName=get_function_name("ExampleFunction"),
         LogType='Tail',
         Payload=json.dumps({'x': 1}),
     )
     raw_payload = response['Payload'].read().decode('utf-8')
     result = json.loads(raw_payload)
     self.assertEqual(2, result)
     log = base64.b64decode(response['LogResult']).decode('utf-8')
     self.assertNotIn("Sourcing ", log)
     self.assertNotIn("Invoking function ", log)
     self.assertNotIn("Function returned:", log)
     self.assertNotIn("Posted result:", log)
 def test_debug_logging(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(
         FunctionName=get_function_name("LoggingFunction"),
         LogType='Tail',
         Payload=json.dumps({'x': 1}),
     )
     raw_payload = response['Payload'].read().decode('utf-8')
     result = json.loads(raw_payload)
     self.assertEqual(1, result)
     log = base64.b64decode(response['LogResult']).decode('utf-8')
     self.assertIn("runtime:Sourcing 'script.R'", log)
     self.assertIn(
         "runtime:Invoking function 'handler_with_debug_logging' with parameters:\n$x\n[1] 1",
         log)
     self.assertIn("runtime:Function returned:\n[1] 1", log)
     self.assertIn("runtime:Posted result:\n", log)
示例#13
0
 def test_s3_get_object(self):
     lambda_client = self.get_client()
     response = lambda_client.invoke(
         FunctionName=get_function_name("AWSFunction"))
     raw_payload = response['Payload'].read().decode('utf-8')
     result = json.loads(raw_payload)
     self.assertEqual(1, len(result))
     self.assertDictEqual(
         {
             "DRG.Definition": "039 - EXTRACRANIAL PROCEDURES W/O CC/MCC",
             "Provider.Id": "10001",
             "Provider.Name": "SOUTHEAST ALABAMA MEDICAL CENTER",
             "Provider.Street.Address": "1108 ROSS CLARK CIRCLE",
             "Provider.City": "DOTHAN",
             "Provider.State": "AL",
             "Provider.Zip.Code": 36301,
             "Hospital.Referral.Region.Description": "AL - Dothan",
             "Total.Discharges": 91,
             "Average.Covered.Charges": "$32963.07",
             "Average.Total.Payments": "$5777.24",
             "Average.Medicare.Payments": "$4763.73"
         }, result[0])