def assert_valid(self, common_raw, msg='Invalid CommonV1 structure'):
    '''
    Assert given dict is valid gazelib/common/v1
    '''
    try:
        CommonV1.validate(common_raw)
    except:
        self.fail(msg)
    def test_validate(self):
        raw = load_fixture('sample.common.json')
        subraw = load_fixture('subsample.common.json')

        # Ensure fixtures are valid
        assert_valid(self, raw)
        assert_valid(self, subraw)

        # Make invalid modification
        raw['events'] = 'foo'
        f = lambda: CommonV1.validate(raw)
        self.assertRaises(jsonschema.ValidationError, f)

        # Make invalid modification
        subraw['schema'] = 'foo'
        f = lambda: CommonV1.validate(subraw)
        self.assertRaises(jsonschema.ValidationError, f)