Skip to content

Commit 466409e

Browse files
committed
Merge pull request #1616 from tseaver/logging-sink_metric_fix_create_verb_target
Fix verb / target for 'Metric.create' / 'Sink.create'.
2 parents 5648192 + 15526df commit 466409e

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

gcloud/logging/metric.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,14 @@ def create(self, client=None):
141141
``client`` stored on the current metric.
142142
"""
143143
client = self._require_client(client)
144+
target = '/projects/%s/metrics' % (self.project,)
144145
data = {
145146
'name': self.name,
146147
'filter': self.filter_,
147148
}
148149
if self.description:
149150
data['description'] = self.description
150-
client.connection.api_request(method='PUT', path=self.path, data=data)
151+
client.connection.api_request(method='POST', path=target, data=data)
151152

152153
def exists(self, client=None):
153154
"""API call: test for the existence of the metric via a GET request

gcloud/logging/sink.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,13 @@ def create(self, client=None):
137137
``client`` stored on the current sink.
138138
"""
139139
client = self._require_client(client)
140+
target = '/projects/%s/sinks' % (self.project,)
140141
data = {
141142
'name': self.name,
142143
'filter': self.filter_,
143144
'destination': self.destination,
144145
}
145-
client.connection.api_request(method='PUT', path=self.path, data=data)
146+
client.connection.api_request(method='POST', path=target, data=data)
146147

147148
def exists(self, client=None):
148149
"""API call: test for the existence of the sink via a GET request

gcloud/logging/test_metric.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -133,40 +133,40 @@ def test_from_api_repr_with_mismatched_project(self):
133133
RESOURCE, client=CLIENT)
134134

135135
def test_create_w_bound_client(self):
136-
FULL = 'projects/%s/metrics/%s' % (self.PROJECT, self.METRIC_NAME)
136+
TARGET = 'projects/%s/metrics' % (self.PROJECT,)
137137
RESOURCE = {
138138
'name': self.METRIC_NAME,
139139
'filter': self.FILTER,
140140
}
141-
conn = _Connection({'name': FULL})
141+
conn = _Connection(RESOURCE)
142142
client = _Client(project=self.PROJECT, connection=conn)
143143
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client)
144144
metric.create()
145145
self.assertEqual(len(conn._requested), 1)
146146
req = conn._requested[0]
147-
self.assertEqual(req['method'], 'PUT')
148-
self.assertEqual(req['path'], '/%s' % FULL)
147+
self.assertEqual(req['method'], 'POST')
148+
self.assertEqual(req['path'], '/%s' % TARGET)
149149
self.assertEqual(req['data'], RESOURCE)
150150

151151
def test_create_w_alternate_client(self):
152-
FULL = 'projects/%s/metrics/%s' % (self.PROJECT, self.METRIC_NAME)
152+
TARGET = 'projects/%s/metrics' % (self.PROJECT,)
153153
RESOURCE = {
154154
'name': self.METRIC_NAME,
155155
'filter': self.FILTER,
156156
'description': self.DESCRIPTION,
157157
}
158-
conn1 = _Connection({'name': FULL})
158+
conn1 = _Connection()
159159
client1 = _Client(project=self.PROJECT, connection=conn1)
160-
conn2 = _Connection({'name': FULL})
160+
conn2 = _Connection(RESOURCE)
161161
client2 = _Client(project=self.PROJECT, connection=conn2)
162162
metric = self._makeOne(self.METRIC_NAME, self.FILTER, client=client1,
163163
description=self.DESCRIPTION)
164164
metric.create(client=client2)
165165
self.assertEqual(len(conn1._requested), 0)
166166
self.assertEqual(len(conn2._requested), 1)
167167
req = conn2._requested[0]
168-
self.assertEqual(req['method'], 'PUT')
169-
self.assertEqual(req['path'], '/%s' % FULL)
168+
self.assertEqual(req['method'], 'POST')
169+
self.assertEqual(req['path'], '/%s' % TARGET)
170170
self.assertEqual(req['data'], RESOURCE)
171171

172172
def test_exists_miss_w_bound_client(self):

gcloud/logging/test_sink.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -124,42 +124,42 @@ def test_from_api_repr_with_mismatched_project(self):
124124
RESOURCE, client=CLIENT)
125125

126126
def test_create_w_bound_client(self):
127-
FULL = 'projects/%s/sinks/%s' % (self.PROJECT, self.SINK_NAME)
127+
TARGET = 'projects/%s/sinks' % (self.PROJECT,)
128128
RESOURCE = {
129129
'name': self.SINK_NAME,
130130
'filter': self.FILTER,
131131
'destination': self.DESTINATION_URI,
132132
}
133-
conn = _Connection({'name': FULL})
133+
conn = _Connection(RESOURCE)
134134
client = _Client(project=self.PROJECT, connection=conn)
135135
sink = self._makeOne(self.SINK_NAME, self.FILTER, self.DESTINATION_URI,
136136
client=client)
137137
sink.create()
138138
self.assertEqual(len(conn._requested), 1)
139139
req = conn._requested[0]
140-
self.assertEqual(req['method'], 'PUT')
141-
self.assertEqual(req['path'], '/%s' % FULL)
140+
self.assertEqual(req['method'], 'POST')
141+
self.assertEqual(req['path'], '/%s' % TARGET)
142142
self.assertEqual(req['data'], RESOURCE)
143143

144144
def test_create_w_alternate_client(self):
145-
FULL = 'projects/%s/sinks/%s' % (self.PROJECT, self.SINK_NAME)
145+
TARGET = 'projects/%s/sinks' % (self.PROJECT,)
146146
RESOURCE = {
147147
'name': self.SINK_NAME,
148148
'filter': self.FILTER,
149149
'destination': self.DESTINATION_URI,
150150
}
151151
conn1 = _Connection()
152152
client1 = _Client(project=self.PROJECT, connection=conn1)
153-
conn2 = _Connection({'name': FULL})
153+
conn2 = _Connection(RESOURCE)
154154
client2 = _Client(project=self.PROJECT, connection=conn2)
155155
sink = self._makeOne(self.SINK_NAME, self.FILTER, self.DESTINATION_URI,
156156
client=client1)
157157
sink.create(client=client2)
158158
self.assertEqual(len(conn1._requested), 0)
159159
self.assertEqual(len(conn2._requested), 1)
160160
req = conn2._requested[0]
161-
self.assertEqual(req['method'], 'PUT')
162-
self.assertEqual(req['path'], '/%s' % FULL)
161+
self.assertEqual(req['method'], 'POST')
162+
self.assertEqual(req['path'], '/%s' % TARGET)
163163
self.assertEqual(req['data'], RESOURCE)
164164

165165
def test_exists_miss_w_bound_client(self):

0 commit comments

Comments
 (0)