<reponame>wojtek-t/test-infra
#!/usr/bin/env python

# Copyright 2016 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Tests for gen_json."""

import unittest

import gen_json


class GenJsonTest(unittest.TestCase):
    """Unit tests for gen_json.py."""
    # pylint: disable=invalid-name

    def testGetOptions(self):
        """Test argument parsing works correctly."""
        def check(args, expected_server, expected_match):
            """Check that all args are parsed as expected."""
            options = gen_json.get_options(args)
            self.assertEquals(expected_server, options.server)
            self.assertEquals(expected_match, options.match)


        check(['--server=foo', '--match=bar'], 'foo', 'bar')
        check(['--server', 'foo', '--match', 'bar'], 'foo', 'bar')
        check(['--match=bar', '--server=foo'], 'foo', 'bar')

    def testGetOptions_Missing(self):
        """Test missing arguments raise an exception."""
        def check(args):
            """Check that missing args raise an exception."""
            with self.assertRaises(SystemExit):
                gen_json.get_options(args)

        check([])
        check(['--server=foo'])
        check(['--match=bar'])



if __name__ == '__main__':
    unittest.main()

#!/usr/bin/env python

# Copyright 2016 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Tests for gen_json."""

import unittest

import gen_json


class GenJsonTest(unittest.TestCase):
    """Unit tests for gen_json.py."""
    # pylint: disable=invalid-name

    def testGetOptions(self):
        """Test argument parsing works correctly."""
        def check(args, expected_server, expected_match):
            """Check that all args are parsed as expected."""
            options = gen_json.get_options(args)
            self.assertEquals(expected_server, options.server)
            self.assertEquals(expected_match, options.match)


        check(['--server=foo', '--match=bar'], 'foo', 'bar')
        check(['--server', 'foo', '--match', 'bar'], 'foo', 'bar')
        check(['--match=bar', '--server=foo'], 'foo', 'bar')

    def testGetOptions_Missing(self):
        """Test missing arguments raise an exception."""
        def check(args):
            """Check that missing args raise an exception."""
            with self.assertRaises(SystemExit):
                gen_json.get_options(args)

        check([])
        check(['--server=foo'])
        check(['--match=bar'])



if __name__ == '__main__':
    unittest.main()
#!/usr/bin/env python # Copyright 2016 The Kubernetes Authors All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # #     http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. Tests for gen_json. Unit tests for gen_json.py. # pylint: disable=invalid-name Test argument parsing works correctly. Check that all args are parsed as expected. Test missing arguments raise an exception. Check that missing args raise an exception.