Revision 8b01f7f3 api/tests.py

b/api/tests.py
2 2
# Copyright (c) 2010 Greek Research and Technology Network
3 3
#
4 4

  
5
from email.utils import parsedate
6
from time import mktime
7

  
5 8
import datetime
6 9

  
7 10
from django.utils import simplejson as json
......
134 137
        
135 138
        response = self.client.get('/api/v1.1/servers/detail')
136 139
        vms_from_api_initial = json.loads(response.content)['servers']['values']
137
        then = datetime.datetime.now().isoformat().split('.')[0] + 'Z'
138

  
139
        #isoformat also gives miliseconds that are not needed
140
        response = self.client.get('/api/v1.1/servers/detail?changes-since=%s' % then)
140
        ts = mktime(parsedate(response['Date']))
141
        since = datetime.datetime.fromtimestamp(ts).isoformat() + 'Z'
142
        response = self.client.get('/api/v1.1/servers/detail?changes-since=%s' % since)
141 143
        self.assertEqual(len(response.content), 0)
142
        #no changes were made
143 144

  
144 145
        #now create a machine. Then check if it is on the list
145 146
        request = {
......
158 159
        response = self.client.post(path, json.dumps(request), content_type='application/json')
159 160
        self.assertEqual(response.status_code, 202)
160 161

  
161
        response = self.client.get('/api/v1.1/servers/detail?changes-since=%s' % then)
162
        response = self.client.get('/api/v1.1/servers/detail?changes-since=%s' % since)
162 163
        vms_from_api_after = json.loads(response.content)['servers']['values']
163 164
        #make sure the newly created server is included on the updated list
164 165
        self.assertEqual(len(vms_from_api_after), 1)

Also available in: Unified diff