def test_commit_query(self): q = Query({'hostname': 'test1'}, ['os', 'intern_ip']) s = q.get() s['os'] = 'wheezy' s['intern_ip'] = IPv4Address('10.16.2.1') q.commit(user=User.objects.first()) s = Query({'hostname': 'test1'}, ['os', 'intern_ip']).get() self.assertEqual(s['os'], 'wheezy') self.assertEqual(s['intern_ip'], IPv4Address('10.16.2.1'))
def test_set_attribute(self): """Try to set and retrieve a datetime attribute""" dt = datetime.utcnow().replace(tzinfo=timezone.utc) q = Query({'hostname': 'test0'}, ['last_edited']) s = q.get() s['last_edited'] = dt q.commit(user=User.objects.first()) s = Query({'hostname': 'test0'}, ['last_edited']).get() self.assertEqual(s['last_edited'], dt)
def inspect(request): if 'object_id' in request.GET: query = Query({'object_id': request.GET['object_id']}, None) elif 'hostname' in request.GET: query = Query({'hostname': request.GET['hostname']}, None) else: return HttpResponseBadRequest( 'object_id or hostname parameter is mandatory') if not query: return HttpResponseNotFound('No such object exists') return _edit(request, query.get(), template='inspect')
def test_utc_conversion(self): """Ensure datetimes are converted to UTC Users can pass datetimes in any timezone they want. Serveradmin will transform them to UTC and only ever return them in UTC form. """ class TZ(tzinfo): def utcoffset(self, dt): return timedelta(minutes=+3) q = Query({'hostname': 'test0'}, ['last_edited']) s = q.get() s['last_edited'] = datetime(1970, 1, 1, 0, 3, 0).replace(tzinfo=TZ()) q.commit(user=User.objects.first()) s = Query({'hostname': 'test0'}, ['last_edited']).get() self.assertEqual(str(s['last_edited']), '1970-01-01 00:00:00+00:00')