def test_valid_metric_unicode_metric_name(self): metric = {"name": UNICODE_MESSAGES[0]['input'], "dimensions": {"key1": "value1", "key2": "value2"}, "timestamp": 1405630174123, "value": 5} metric_validator.validate(metric)
def test_valid_metric_unicode_metric_name(self): metric = {"name": unichr(6021), "dimensions": {"key1": "value1", "key2": "value2"}, "timestamp": 1405630174123, "value": 5} metric_validator.validate(metric)
def test_valid_single_metric(self): metric = {"name": "test_metric_name", "dimensions": {"key1": "value1", "key2": "value2"}, "timestamp": 1405630174123, "value": 5} metric_validator.validate(metric)
def test_valid_metric_unicode_dimension_value(self): metric = {"name": "test_metric_name", "timestamp": 1405630174123, "dimensions": {UNICODE_MESSAGES[0]['input']: 'B', 'B': 'C', 'D': 'E'}, "value": 5} metric_validator.validate(metric)
def test_valid_name_chars(self): for c in valid_name_chars: metric = {"name": 'test{}counter'.format(c), "dimensions": {"key1": "value1", "key2": "value2"}, "timestamp": 1405630174123, "value": 5} metric_validator.validate(metric)
def test_valid_dimension_chars(self): for c in valid_dimension_chars: metric = {"name": "test_name", "dimensions": {"test{}key".format(c): "test{}value".format(c)}, "timestamp": 1405630174123, "value": 5} metric_validator.validate(metric)
def _validate_metric(metric): """validate monasca metric.""" try: # validate metric part, without the wrapper metric_validator.validate(metric["metric"]) except Exception as e: log.info("Metric %s is invalid: Exception : %s" % (json.dumps(metric), str(e))) return False return True
def test_valid_metric_unicode_dimension_key(self): metric = { "name": 'test_metric_name', "dimensions": { 'A': 'B', 'B': six.unichr(920), 'D': 'E' }, "timestamp": 1405630174123, "value": 5 } metric_validator.validate(metric)
def test_valid_metric_unicode_dimension_value(self): metric = { "name": "test_metric_name", "timestamp": 1405630174123, "dimensions": { six.unichr(2440): 'B', 'B': 'C', 'D': 'E' }, "value": 5 } metric_validator.validate(metric)
def on_post(self, req, res): helpers.validate_json_content_type(req) helpers.validate_authorization(req, ['api:metrics:post']) metrics = helpers.from_json(req) try: metric_validation.validate(metrics) except Exception as ex: LOG.exception(ex) raise HTTPUnprocessableEntityError("Unprocessable Entity", str(ex)) tenant_id = helpers.get_x_tenant_or_tenant_id(req, ['api:delegate']) transformed_metrics = metrics_message.transform( metrics, tenant_id, self._region) self._send_metrics(transformed_metrics) res.status = falcon.HTTP_204
def test_valid_metrics(self): metrics = [ {"name": "name1", "dimensions": {"key1": "value1", "key2": "value2"}, "timestamp": 1405630174123, "value": 1.0}, {"name": "name2", "dimensions": {"key1": "value1", "key2": "value2"}, "value_meta": {"key1": "value1", "key2": "value2"}, "timestamp": 1405630174123, "value": 2.0} ] metric_validator.validate(metrics)
def on_post(self, req, res): helpers.validate_json_content_type(req) helpers.validate_authorization(req, self._post_metrics_authorized_roles) metrics = helpers.from_json(req) try: metric_validation.validate(metrics) except Exception as ex: LOG.exception(ex) raise HTTPUnprocessableEntityError("Unprocessable Entity", str(ex)) tenant_id = ( helpers.get_x_tenant_or_tenant_id(req, self._delegate_authorized_roles)) transformed_metrics = metrics_message.transform( metrics, tenant_id, self._region) self._send_metrics(transformed_metrics) res.status = falcon.HTTP_204
def on_post(self, req, res): helpers.validate_json_content_type(req) helpers.validate_authorization(req, self._post_metrics_authorized_roles) metrics = helpers.read_http_resource(req) try: metric_validation.validate(metrics) except Exception as ex: LOG.exception(ex) raise HTTPUnprocessableEntityError("Unprocessable Entity", ex.message) tenant_id = (helpers.get_x_tenant_or_tenant_id( req, self._delegate_authorized_roles)) transformed_metrics = metrics_message.transform( metrics, tenant_id, self._region) self._send_metrics(transformed_metrics) res.status = falcon.HTTP_204
def test_valid_metric_unicode_dimension_value(self): metric = {"name": "test_metric_name", "timestamp": 1405630174123, "dimensions": {unichr(2440): 'B', 'B': 'C', 'D': 'E'}, "value": 5} metric_validator.validate(metric)
def test_valid_metric_unicode_dimension_key(self): metric = {"name": 'test_metric_name', "dimensions": {'A': 'B', 'B': unichr(920), 'D': 'E'}, "timestamp": 1405630174123, "value": 5} metric_validator.validate(metric)