Beispiel #1
0
    def setUp(self):
        self.session = mock.Mock()
        # Create a mock service operation object
        self.service_operation = mock.Mock()

        # Make an arbitrary input model shape.
        self.input_shape = {
            'A': {
                'type': 'structure',
                'members': {
                    'B': {
                        'type': 'string'
                    },
                }
            }
        }
        shape = DenormalizedStructureBuilder().with_members(
            self.input_shape).build_model()
        self.operation_model = mock.Mock(input_shape=shape)
        self.argument = GenerateCliSkeletonArgument(self.session,
                                                    self.operation_model)

        # This is what the json should should look like after being
        # generated to standard output.
        self.ref_json_output = \
            '{\n    "A": {\n        "B": ""\n    }\n}\n'
Beispiel #2
0
 def test_generate_json_skeleton_with_timestamp(self):
     parsed_args = mock.Mock()
     parsed_args.generate_cli_skeleton = 'input'
     input_shape = {
         'A': {
             'type': 'structure',
             'members': {
                 'B': {
                     'type': 'timestamp'
                 },
             }
         }
     }
     shape = DenormalizedStructureBuilder().with_members(
         input_shape).build_model()
     operation_model = mock.Mock(input_shape=shape)
     argument = GenerateCliSkeletonArgument(self.session, operation_model)
     with mock.patch('sys.stdout', six.StringIO()) as mock_stdout:
         rc = argument.generate_json_skeleton(call_parameters=None,
                                              parsed_args=parsed_args,
                                              parsed_globals=None)
         self.assertEqual(
             '{\n'
             '    "A": {\n'
             '        "B": "1970-01-01T00:00:00"\n'
             '    }\n'
             '}\n', mock_stdout.getvalue())
         self.assertEqual(rc, 0)
Beispiel #3
0
 def test_generate_json_skeleton_no_input_shape(self):
     parsed_args = mock.Mock()
     parsed_args.generate_cli_skeleton = 'input'
     # Set the input shape to ``None``.
     self.argument = GenerateCliSkeletonArgument(
         self.session, mock.Mock(input_shape=None))
     with mock.patch('sys.stdout', six.StringIO()) as mock_stdout:
         rc = self.argument.generate_json_skeleton(
             service_operation=self.service_operation,
             call_parameters=None,
             parsed_args=parsed_args,
             parsed_globals=None)
         # Ensure the contents printed to standard output are correct,
         # which should be an empty dictionary.
         self.assertEqual('{}\n', mock_stdout.getvalue())
         # Ensure it is the correct return code of zero.
         self.assertEqual(rc, 0)
 def create_argument(self, input_shape):
     builder = DenormalizedStructureBuilder().with_members(input_shape)
     operation_model = mock.Mock(input_shape=builder.build_model())
     return GenerateCliSkeletonArgument(self.session, operation_model)