Merge "Add the report request"
This commit is contained in:
48
cloudkittyclient/tests/v1/test_report.py
Normal file
48
cloudkittyclient/tests/v1/test_report.py
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Copyright 2014 Objectif Libre
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# @author: François Magimel (linkid)
|
||||||
|
|
||||||
|
"""
|
||||||
|
Tests for the manager report `cloudkittyclient.v1.report`.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from cloudkittyclient.openstack.common.apiclient import fake_client
|
||||||
|
from cloudkittyclient.tests import base
|
||||||
|
from cloudkittyclient.v1 import client
|
||||||
|
from cloudkittyclient.v1 import report
|
||||||
|
|
||||||
|
|
||||||
|
fixtures = {
|
||||||
|
'/v1/report/total': {
|
||||||
|
'GET': (
|
||||||
|
{},
|
||||||
|
'10.0'
|
||||||
|
),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class ReportManagerTest(base.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
super(ReportManagerTest, self).setUp()
|
||||||
|
fake_http_client = fake_client.FakeHTTPClient(fixtures=fixtures)
|
||||||
|
api_client = client.Client(fake_http_client)
|
||||||
|
self.mgr = report.ReportManager(api_client)
|
||||||
|
|
||||||
|
def test_get(self):
|
||||||
|
_report = self.mgr.get()
|
||||||
|
self.assertIn('Report', repr(_report))
|
||||||
|
self.assertEqual(10.0, _report.total)
|
@@ -20,6 +20,7 @@ OpenStack Client interface. Handles the REST calls and responses.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from cloudkittyclient.openstack.common.apiclient import client
|
from cloudkittyclient.openstack.common.apiclient import client
|
||||||
|
from cloudkittyclient.v1 import report
|
||||||
|
|
||||||
|
|
||||||
class Client(client.BaseClient):
|
class Client(client.BaseClient):
|
||||||
@@ -28,3 +29,5 @@ class Client(client.BaseClient):
|
|||||||
def __init__(self, http_client, extensions=None):
|
def __init__(self, http_client, extensions=None):
|
||||||
"""Initialize a new client for the Cloudkitty v1 API."""
|
"""Initialize a new client for the Cloudkitty v1 API."""
|
||||||
super(Client, self).__init__(http_client, extensions)
|
super(Client, self).__init__(http_client, extensions)
|
||||||
|
|
||||||
|
self.report = report.ReportManager(self)
|
||||||
|
@@ -53,4 +53,7 @@ class ReportManager(base.CrudManager):
|
|||||||
return self.resource_class(self, body, loaded=True)
|
return self.resource_class(self, body, loaded=True)
|
||||||
|
|
||||||
def get(self, **kwargs):
|
def get(self, **kwargs):
|
||||||
|
"""Get the amount to pay for the current month.
|
||||||
|
/v1/report/total
|
||||||
|
"""
|
||||||
return super(ReportManager, self).get(base_url='/v1', **kwargs)
|
return super(ReportManager, self).get(base_url='/v1', **kwargs)
|
||||||
|
Reference in New Issue
Block a user