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)
Пример #2
0
 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)
Пример #5
0
 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_metric_name(self):
     metric = {"name": unichr(6021),
               "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_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_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)
Пример #10
0
 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)
Пример #11
0
 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 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)
Пример #13
0
 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
Пример #14
0
 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)
Пример #17
0
    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
Пример #18
0
 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 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)
Пример #20
0
    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
Пример #21
0
    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
Пример #22
0
 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)
Пример #23
0
 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)