Skip to content

Commit

Permalink
Merge pull request #1616 from tseaver/logging-sink_metric_fix_create_…
Browse files Browse the repository at this point in the history
…verb_target

Fix verb / target for 'Metric.create' / 'Sink.create'.
  • Loading branch information
tseaver committed Mar 17, 2016
2 parents 5648192 + 15526df commit 466409e
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 19 deletions.
3 changes: 2 additions & 1 deletion gcloud/logging/metric.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,13 +141,14 @@ def create(self, client=None):
``client`` stored on the current metric.
"""
client = self._require_client(client)
target = '/projects/%s/metrics' % (self.project,)
data = {
'name': self.name,
'filter': self.filter_,
}
if self.description:
data['description'] = self.description
client.connection.api_request(method='PUT', path=self.path, data=data)
client.connection.api_request(method='POST', path=target, data=data)

def exists(self, client=None):
"""API call: test for the existence of the metric via a GET request
Expand Down
3 changes: 2 additions & 1 deletion gcloud/logging/sink.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,12 +137,13 @@ def create(self, client=None):
``client`` stored on the current sink.
"""
client = self._require_client(client)
target = '/projects/%s/sinks' % (self.project,)
data = {
'name': self.name,
'filter': self.filter_,
'destination': self.destination,
}
client.connection.api_request(method='PUT', path=self.path, data=data)
client.connection.api_request(method='POST', path=target, data=data)

def exists(self, client=None):
"""API call: test for the existence of the sink via a GET request
Expand Down
18 changes: 9 additions & 9 deletions gcloud/logging/test_metric.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,40 +133,40 @@ def test_from_api_repr_with_mismatched_project(self):
RESOURCE, client=CLIENT)

def test_create_w_bound_client(self):
FULL = 'projects/%s/metrics/%s' % (self.PROJECT, self.METRIC_NAME)
TARGET = 'projects/%s/metrics' % (self.PROJECT,)
RESOURCE = {
'name': self.METRIC_NAME,
'filter': self.FILTER,
}
conn = _Connection({'name': FULL})
conn = _Connection(RESOURCE)
client = _Client(project=self.PROJECT, connection=conn)
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client)
metric.create()
self.assertEqual(len(conn._requested), 1)
req = conn._requested[0]
self.assertEqual(req['method'], 'PUT')
self.assertEqual(req['path'], '/%s' % FULL)
self.assertEqual(req['method'], 'POST')
self.assertEqual(req['path'], '/%s' % TARGET)
self.assertEqual(req['data'], RESOURCE)

def test_create_w_alternate_client(self):
FULL = 'projects/%s/metrics/%s' % (self.PROJECT, self.METRIC_NAME)
TARGET = 'projects/%s/metrics' % (self.PROJECT,)
RESOURCE = {
'name': self.METRIC_NAME,
'filter': self.FILTER,
'description': self.DESCRIPTION,
}
conn1 = _Connection({'name': FULL})
conn1 = _Connection()
client1 = _Client(project=self.PROJECT, connection=conn1)
conn2 = _Connection({'name': FULL})
conn2 = _Connection(RESOURCE)
client2 = _Client(project=self.PROJECT, connection=conn2)
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client1,
description=self.DESCRIPTION)
metric.create(client=client2)
self.assertEqual(len(conn1._requested), 0)
self.assertEqual(len(conn2._requested), 1)
req = conn2._requested[0]
self.assertEqual(req['method'], 'PUT')
self.assertEqual(req['path'], '/%s' % FULL)
self.assertEqual(req['method'], 'POST')
self.assertEqual(req['path'], '/%s' % TARGET)
self.assertEqual(req['data'], RESOURCE)

def test_exists_miss_w_bound_client(self):
Expand Down
16 changes: 8 additions & 8 deletions gcloud/logging/test_sink.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,42 +124,42 @@ def test_from_api_repr_with_mismatched_project(self):
RESOURCE, client=CLIENT)

def test_create_w_bound_client(self):
FULL = 'projects/%s/sinks/%s' % (self.PROJECT, self.SINK_NAME)
TARGET = 'projects/%s/sinks' % (self.PROJECT,)
RESOURCE = {
'name': self.SINK_NAME,
'filter': self.FILTER,
'destination': self.DESTINATION_URI,
}
conn = _Connection({'name': FULL})
conn = _Connection(RESOURCE)
client = _Client(project=self.PROJECT, connection=conn)
sink = self._makeOne(self.SINK_NAME, self.FILTER, self.DESTINATION_URI,
client=client)
sink.create()
self.assertEqual(len(conn._requested), 1)
req = conn._requested[0]
self.assertEqual(req['method'], 'PUT')
self.assertEqual(req['path'], '/%s' % FULL)
self.assertEqual(req['method'], 'POST')
self.assertEqual(req['path'], '/%s' % TARGET)
self.assertEqual(req['data'], RESOURCE)

def test_create_w_alternate_client(self):
FULL = 'projects/%s/sinks/%s' % (self.PROJECT, self.SINK_NAME)
TARGET = 'projects/%s/sinks' % (self.PROJECT,)
RESOURCE = {
'name': self.SINK_NAME,
'filter': self.FILTER,
'destination': self.DESTINATION_URI,
}
conn1 = _Connection()
client1 = _Client(project=self.PROJECT, connection=conn1)
conn2 = _Connection({'name': FULL})
conn2 = _Connection(RESOURCE)
client2 = _Client(project=self.PROJECT, connection=conn2)
sink = self._makeOne(self.SINK_NAME, self.FILTER, self.DESTINATION_URI,
client=client1)
sink.create(client=client2)
self.assertEqual(len(conn1._requested), 0)
self.assertEqual(len(conn2._requested), 1)
req = conn2._requested[0]
self.assertEqual(req['method'], 'PUT')
self.assertEqual(req['path'], '/%s' % FULL)
self.assertEqual(req['method'], 'POST')
self.assertEqual(req['path'], '/%s' % TARGET)
self.assertEqual(req['data'], RESOURCE)

def test_exists_miss_w_bound_client(self):
Expand Down

0 comments on commit 466409e

Please sign in to comment.