def test_basic_validate(self):
     try:
         in_ = self.model['views']
         schema = views_schema(self.state)
         out = schema.deserialize(in_)
         assert len(out)==len(in_), out
     except Invalid, i:
         assert False, i.asdict()
Esempio n. 2
0
 def views_update(self, dataset, format='html'):
     self._get_dataset(dataset)
     require.dataset.update(c.dataset)
     errors, views = {}, None
     try:
         views = json.loads(request.params.get('views'))
         schema = views_schema(ValidationState(c.dataset.model))
         c.dataset.data['views'] = schema.deserialize(views)
         db.session.commit()
         h.flash_success(_("The views have been updated."))
     except (ValueError, TypeError):
         abort(400, _("The views could not be decoded as JSON!"))
     except Invalid, i:
         errors = i.asdict()
Esempio n. 3
0
 def views_update(self, dataset, format='html'):
     self._get_dataset(dataset)
     require.dataset.update(c.dataset)
     errors, views = {}, None
     try:
         views = json.loads(request.params.get('views'))
         schema = views_schema(ValidationState(c.dataset.model))
         c.dataset.data['views'] = schema.deserialize(views)
         db.session.commit()
         h.flash_success(_("The views have been updated."))
     except (ValueError, TypeError):
         abort(400, _("The views could not be decoded as JSON!"))
     except Invalid, i:
         errors = i.asdict()
 def test_no_drilldown(self):
     vs = list(self.model['views'])
     vs[0]['drilldown'] = ''
     schema = views_schema(self.state)
     schema.deserialize(vs)
 def test_invalid_dimension_measure(self):
     vs = list(self.model['views'])
     vs[0]['dimension'] = 'amount'
     schema = views_schema(self.state)
     schema.deserialize(vs)
 def test_invalid_dimension_attribute_name(self):
     vs = list(self.model['views'])
     vs[0]['dimension'] = 'function.name'
     schema = views_schema(self.state)
     schema.deserialize(vs)
 def test_invalid_dimension(self):
     vs = list(self.model['views'])
     vs[0]['dimension'] = 'banana'
     schema = views_schema(self.state)
     schema.deserialize(vs)
 def test_invalid_cut(self):
     vs = list(self.model['views'])
     vs[0]['cuts'] = {'banana': 'split'}
     schema = views_schema(self.state)
     schema.deserialize(vs)
 def test_empty_label(self):
     vs = list(self.model['views'])
     vs[0]['label'] = ' '
     schema = views_schema(self.state)
     schema.deserialize(vs)
 def test_no_label(self):
     vs = list(self.model['views'])
     del vs[0]['label']
     schema = views_schema(self.state)
     schema.deserialize(vs)
 def test_invalid_name(self):
     vs = list(self.model['views'])
     vs[0]['name'] = 'ba nana'
     schema = views_schema(self.state)
     schema.deserialize(vs)
Esempio n. 12
0
def model_schema(state):
    schema = mapping_node('model')
    schema.add(dataset_schema(state))
    schema.add(mapping_schema(state))
    schema.add(views_schema(state))
    return schema
Esempio n. 13
0
def model_schema(state):
    schema = mapping_node('model')
    schema.add(dataset_schema(state))
    schema.add(mapping_schema(state))
    schema.add(views_schema(state))
    return schema