def test_basic_validate(self): try: ds = self.model['dataset'] out = validate_dataset(ds) assert sorted(out.keys()) == sorted(ds.keys()), [out, ds] except Invalid, i: assert False, i.asdict()
def update(name): dataset = get_dataset(name) require.dataset.update(dataset) dataset.update(validate_dataset(request_data())) dataset.touch() db.session.commit() return view(name)
def create(): require.dataset.create() dataset = request_data() data = validate_dataset(dataset) if Dataset.by_name(data['name']) is not None: raise Invalid(SchemaNode(String(), name='name'), _("A dataset with this identifer already exists!")) dataset = Dataset({'dataset': data, 'model': {}}) dataset.managers.append(current_user) db.session.add(dataset) db.session.commit() return view(dataset.name)
def test_empty_label(self): ds = self.model['dataset'].copy() ds['label'] = ' ' validate_dataset(ds)
def test_no_label(self): ds = self.model['dataset'].copy() del ds['label'] validate_dataset(ds)
def test_invalid_country(self): ds = self.model['dataset'].copy() ds['territories'].append('SU') validate_dataset(ds)
def test_invalid_language(self): ds = self.model['dataset'].copy() ds['languages'].append('esperanto') validate_dataset(ds)
def test_invalid_category(self): ds = self.model['dataset'].copy() ds['category'] = 'giraffes' validate_dataset(ds)
def test_underscore_validate(self): ds = self.model['dataset'].copy() ds['name'] = 'test__' validate_dataset(ds)
def test_reserved_name_validate(self): ds = self.model['dataset'].copy() ds['name'] = 'entRY' validate_dataset(ds)
def test_invalid_currency(self): ds = self.model['dataset'].copy() ds['currency'] = 'glass pearls' validate_dataset(ds)
def test_no_description(self): ds = self.model['dataset'].copy() del ds['description'] validate_dataset(ds)