def test_good_auto_threaded_config(self):
        json = {
            u'options': {
                u'-t': 10,
                u'-l': u".",
            },
            u'tests': [
                u'mod1',
                {
                    u'tests': [
                        u'mod2.test1',
                        u'mod2.test2',
                    ],
                    u'configuration': {
                        u'base_url': u'http://localhost:8000',
                    },
                    u'environments': [
                        {
                            u'browser': u'Chrome',
                        },
                        {
                            u'browser': u'Firefox',
                        },
                    ],
                },
            ],
            u'configuration': {
                u'base_url': u'localhost:9000',
            },
            u'extraneous_key': {},
        }

        ConfigurationValidator.validate_config_json(json)
    def test_good_user_threaded_config(self):
        json = {
            u'options': {
                u'-l': u".",
                u'-u': u'',
            },
            u'tests': [
                [u'mod1'],
                [
                    u'mod2.test1',
                    u'mod2.test2',
                ],
            ],
            u'configuration': {
                u'base_url': u'localhost:9000',
            },
            u'extraneous_key': {},
        }

        ConfigurationValidator.validate_config_json(json)
    def test_good_user_threaded_config(self):
        json = {
            u'options': {
                u'-l': u".",
                u'-u': u'',
            },

            u'tests': [
                [
                    u'mod1'
                ],
                [
                    u'mod2.test1',
                    u'mod2.test2',
                ],
            ],
            u'configuration': {
                u'base_url': u'localhost:9000',
            },
            u'extraneous_key': {},
        }

        ConfigurationValidator.validate_config_json(json)
    def test_good_auto_threaded_config(self):
        json = {
            u'options': {
                u'-t': 10,
                u'-l': u".",
            },

            u'tests': [
                u'mod1',
                {
                    u'tests': [
                        u'mod2.test1',
                        u'mod2.test2',
                    ],
                    u'configuration': {
                        u'base_url': u'http://localhost:8000',
                    },
                    u'environments': [
                        {
                            u'browser': u'Chrome',
                        },
                        {
                            u'browser': u'Firefox',
                        },
                    ],
                },
            ],

            u'configuration': {
                u'base_url': u'localhost:9000',
            },

            u'extraneous_key': {},
        }

        ConfigurationValidator.validate_config_json(json)
 def test_environments_empty_list(self):
     ConfigurationValidator.validate_auto_threaded_json({
         u'tests': [],
         u'environments': []
     })
 def test_environments_empty_list(self):
     ConfigurationValidator.validate_auto_threaded_json({u'tests': [], u'environments': []})