Updated DB_Helper by adding firebase methods.
This commit is contained in:
parent
485cc3bbba
commit
c82121d036
1810 changed files with 537281 additions and 1 deletions
251
venv/Lib/site-packages/gcloud/logging/test_metric.py
Normal file
251
venv/Lib/site-packages/gcloud/logging/test_metric.py
Normal file
|
@ -0,0 +1,251 @@
|
|||
# Copyright 2016 Google Inc. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import unittest2
|
||||
|
||||
|
||||
class TestMetric(unittest2.TestCase):
|
||||
|
||||
PROJECT = 'test-project'
|
||||
METRIC_NAME = 'metric-name'
|
||||
FILTER = 'logName:syslog AND severity>=ERROR'
|
||||
DESCRIPTION = 'DESCRIPTION'
|
||||
|
||||
def _getTargetClass(self):
|
||||
from gcloud.logging.metric import Metric
|
||||
return Metric
|
||||
|
||||
def _makeOne(self, *args, **kw):
|
||||
return self._getTargetClass()(*args, **kw)
|
||||
|
||||
def test_ctor_defaults(self):
|
||||
FULL = 'projects/%s/metrics/%s' % (self.PROJECT, self.METRIC_NAME)
|
||||
client = _Client(self.PROJECT)
|
||||
metric = self._makeOne(self.METRIC_NAME, client=client)
|
||||
self.assertEqual(metric.name, self.METRIC_NAME)
|
||||
self.assertEqual(metric.filter_, None)
|
||||
self.assertEqual(metric.description, '')
|
||||
self.assertTrue(metric.client is client)
|
||||
self.assertEqual(metric.project, self.PROJECT)
|
||||
self.assertEqual(metric.full_name, FULL)
|
||||
self.assertEqual(metric.path, '/%s' % (FULL,))
|
||||
|
||||
def test_ctor_explicit(self):
|
||||
FULL = 'projects/%s/metrics/%s' % (self.PROJECT, self.METRIC_NAME)
|
||||
client = _Client(self.PROJECT)
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER,
|
||||
client=client, description=self.DESCRIPTION)
|
||||
self.assertEqual(metric.name, self.METRIC_NAME)
|
||||
self.assertEqual(metric.filter_, self.FILTER)
|
||||
self.assertEqual(metric.description, self.DESCRIPTION)
|
||||
self.assertTrue(metric.client is client)
|
||||
self.assertEqual(metric.project, self.PROJECT)
|
||||
self.assertEqual(metric.full_name, FULL)
|
||||
self.assertEqual(metric.path, '/%s' % (FULL,))
|
||||
|
||||
def test_from_api_repr_minimal(self):
|
||||
client = _Client(project=self.PROJECT)
|
||||
FULL = 'projects/%s/metrics/%s' % (self.PROJECT, self.METRIC_NAME)
|
||||
RESOURCE = {
|
||||
'name': self.METRIC_NAME,
|
||||
'filter': self.FILTER,
|
||||
}
|
||||
klass = self._getTargetClass()
|
||||
metric = klass.from_api_repr(RESOURCE, client=client)
|
||||
self.assertEqual(metric.name, self.METRIC_NAME)
|
||||
self.assertEqual(metric.filter_, self.FILTER)
|
||||
self.assertEqual(metric.description, '')
|
||||
self.assertTrue(metric._client is client)
|
||||
self.assertEqual(metric.project, self.PROJECT)
|
||||
self.assertEqual(metric.full_name, FULL)
|
||||
|
||||
def test_from_api_repr_w_description(self):
|
||||
client = _Client(project=self.PROJECT)
|
||||
FULL = 'projects/%s/metrics/%s' % (self.PROJECT, self.METRIC_NAME)
|
||||
DESCRIPTION = 'DESCRIPTION'
|
||||
RESOURCE = {
|
||||
'name': self.METRIC_NAME,
|
||||
'filter': self.FILTER,
|
||||
'description': DESCRIPTION,
|
||||
}
|
||||
klass = self._getTargetClass()
|
||||
metric = klass.from_api_repr(RESOURCE, client=client)
|
||||
self.assertEqual(metric.name, self.METRIC_NAME)
|
||||
self.assertEqual(metric.filter_, self.FILTER)
|
||||
self.assertEqual(metric.description, DESCRIPTION)
|
||||
self.assertTrue(metric._client is client)
|
||||
self.assertEqual(metric.project, self.PROJECT)
|
||||
self.assertEqual(metric.full_name, FULL)
|
||||
|
||||
def test_create_w_bound_client(self):
|
||||
client = _Client(project=self.PROJECT)
|
||||
api = client.metrics_api = _DummyMetricsAPI()
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client)
|
||||
|
||||
metric.create()
|
||||
|
||||
self.assertEqual(
|
||||
api._metric_create_called_with,
|
||||
(self.PROJECT, self.METRIC_NAME, self.FILTER, ''))
|
||||
|
||||
def test_create_w_alternate_client(self):
|
||||
client1 = _Client(project=self.PROJECT)
|
||||
client2 = _Client(project=self.PROJECT)
|
||||
api = client2.metrics_api = _DummyMetricsAPI()
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client1,
|
||||
description=self.DESCRIPTION)
|
||||
|
||||
metric.create(client=client2)
|
||||
|
||||
self.assertEqual(
|
||||
api._metric_create_called_with,
|
||||
(self.PROJECT, self.METRIC_NAME, self.FILTER, self.DESCRIPTION))
|
||||
|
||||
def test_exists_miss_w_bound_client(self):
|
||||
client = _Client(project=self.PROJECT)
|
||||
api = client.metrics_api = _DummyMetricsAPI()
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client)
|
||||
|
||||
self.assertFalse(metric.exists())
|
||||
|
||||
self.assertEqual(api._metric_get_called_with,
|
||||
(self.PROJECT, self.METRIC_NAME))
|
||||
|
||||
def test_exists_hit_w_alternate_client(self):
|
||||
RESOURCE = {
|
||||
'name': self.METRIC_NAME,
|
||||
'filter': self.FILTER,
|
||||
}
|
||||
client1 = _Client(project=self.PROJECT)
|
||||
client2 = _Client(project=self.PROJECT)
|
||||
api = client2.metrics_api = _DummyMetricsAPI()
|
||||
api._metric_get_response = RESOURCE
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client1)
|
||||
|
||||
self.assertTrue(metric.exists(client=client2))
|
||||
|
||||
self.assertEqual(api._metric_get_called_with,
|
||||
(self.PROJECT, self.METRIC_NAME))
|
||||
|
||||
def test_reload_w_bound_client(self):
|
||||
NEW_FILTER = 'logName:syslog AND severity>=INFO'
|
||||
RESOURCE = {
|
||||
'name': self.METRIC_NAME,
|
||||
'filter': NEW_FILTER,
|
||||
}
|
||||
client = _Client(project=self.PROJECT)
|
||||
api = client.metrics_api = _DummyMetricsAPI()
|
||||
api._metric_get_response = RESOURCE
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client,
|
||||
description=self.DESCRIPTION)
|
||||
|
||||
metric.reload()
|
||||
|
||||
self.assertEqual(metric.filter_, NEW_FILTER)
|
||||
self.assertEqual(metric.description, '')
|
||||
self.assertEqual(api._metric_get_called_with,
|
||||
(self.PROJECT, self.METRIC_NAME))
|
||||
|
||||
def test_reload_w_alternate_client(self):
|
||||
NEW_FILTER = 'logName:syslog AND severity>=INFO'
|
||||
RESOURCE = {
|
||||
'name': self.METRIC_NAME,
|
||||
'description': self.DESCRIPTION,
|
||||
'filter': NEW_FILTER,
|
||||
}
|
||||
client1 = _Client(project=self.PROJECT)
|
||||
client2 = _Client(project=self.PROJECT)
|
||||
api = client2.metrics_api = _DummyMetricsAPI()
|
||||
api._metric_get_response = RESOURCE
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client1)
|
||||
|
||||
metric.reload(client=client2)
|
||||
|
||||
self.assertEqual(metric.filter_, NEW_FILTER)
|
||||
self.assertEqual(metric.description, self.DESCRIPTION)
|
||||
self.assertEqual(api._metric_get_called_with,
|
||||
(self.PROJECT, self.METRIC_NAME))
|
||||
|
||||
def test_update_w_bound_client(self):
|
||||
client = _Client(project=self.PROJECT)
|
||||
api = client.metrics_api = _DummyMetricsAPI()
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client)
|
||||
|
||||
metric.update()
|
||||
|
||||
self.assertEqual(
|
||||
api._metric_update_called_with,
|
||||
(self.PROJECT, self.METRIC_NAME, self.FILTER, ''))
|
||||
|
||||
def test_update_w_alternate_client(self):
|
||||
client1 = _Client(project=self.PROJECT)
|
||||
client2 = _Client(project=self.PROJECT)
|
||||
api = client2.metrics_api = _DummyMetricsAPI()
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client1,
|
||||
description=self.DESCRIPTION)
|
||||
|
||||
metric.update(client=client2)
|
||||
|
||||
self.assertEqual(
|
||||
api._metric_update_called_with,
|
||||
(self.PROJECT, self.METRIC_NAME, self.FILTER, self.DESCRIPTION))
|
||||
|
||||
def test_delete_w_bound_client(self):
|
||||
client = _Client(project=self.PROJECT)
|
||||
api = client.metrics_api = _DummyMetricsAPI()
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client)
|
||||
|
||||
metric.delete()
|
||||
|
||||
self.assertEqual(api._metric_delete_called_with,
|
||||
(self.PROJECT, self.METRIC_NAME))
|
||||
|
||||
def test_delete_w_alternate_client(self):
|
||||
client1 = _Client(project=self.PROJECT)
|
||||
client2 = _Client(project=self.PROJECT)
|
||||
api = client2.metrics_api = _DummyMetricsAPI()
|
||||
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client1)
|
||||
|
||||
metric.delete(client=client2)
|
||||
|
||||
self.assertEqual(api._metric_delete_called_with,
|
||||
(self.PROJECT, self.METRIC_NAME))
|
||||
|
||||
|
||||
class _Client(object):
|
||||
|
||||
def __init__(self, project):
|
||||
self.project = project
|
||||
|
||||
|
||||
class _DummyMetricsAPI(object):
|
||||
|
||||
def metric_create(self, project, metric_name, filter_, description):
|
||||
self._metric_create_called_with = (
|
||||
project, metric_name, filter_, description)
|
||||
|
||||
def metric_get(self, project, metric_name):
|
||||
from gcloud.exceptions import NotFound
|
||||
self._metric_get_called_with = (project, metric_name)
|
||||
try:
|
||||
return self._metric_get_response
|
||||
except AttributeError:
|
||||
raise NotFound('miss')
|
||||
|
||||
def metric_update(self, project, metric_name, filter_, description):
|
||||
self._metric_update_called_with = (
|
||||
project, metric_name, filter_, description)
|
||||
|
||||
def metric_delete(self, project, metric_name):
|
||||
self._metric_delete_called_with = (project, metric_name)
|
Loading…
Add table
Add a link
Reference in a new issue