Пример #1
0
    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'))
Пример #2
0
    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)
Пример #3
0
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')
Пример #4
0
    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')