예제 #1
0
def testDangerousParamsRestRequestLogging(server, admin, freshLog,
                                          requestParams, logParams):
    server.request('/folder', params=requestParams)

    records = Record().find()
    assert records.count() == 1
    details = records[0]['details']
    assert details['params'] == logParams
예제 #2
0
def testDocumentCreationLogging(server, freshLog):
    user = User().createUser('admin', 'password', 'first', 'last', '*****@*****.**')
    records = Record().find(sort=[('when', 1)])
    assert records.count() == 3

    assert records[0]['details']['collection'] == 'user'
    assert records[0]['details']['id'] == user['_id']
    assert records[1]['details']['collection'] == 'folder'
    assert records[2]['details']['collection'] == 'folder'
예제 #3
0
def testFailedRestRequestLogging(server, freshLog):
    server.request('/folder',
                   method='POST',
                   params={
                       'name': 'Foo',
                       'parentId': 'foo'
                   })
    records = Record().find()

    assert records.count() == 1
    details = records[0]['details']

    assert details['method'] == 'POST'
    assert details['status'] == 401
    assert details['route'] == ['folder']
    assert details['params'] == {'name': 'Foo', 'parentId': 'foo'}
예제 #4
0
def testAnonymousRestRequestLogging(server, freshLog):
    Record().collection.delete_many({})  # Clear existing records
    server.request('/user/me')

    records = Record().find()
    assert records.count() == 1
    record = records[0]

    assert record['ip'] == '127.0.0.1'
    assert record['type'] == 'rest.request'
    assert record['userId'] is None
    assert isinstance(record['when'], datetime.datetime)
    assert record['details']['method'] == 'GET'
    assert record['details']['status'] == 200
    assert record['details']['route'] == ['user', 'me']
    assert record['details']['params'] == {}
예제 #5
0
def testDownloadLogging(server, admin, fsAssetstore, freshLog):
    folder = Folder().find({'parentId': admin['_id'], 'name': 'Public'})[0]
    file = Upload().uploadFromFile(io.BytesIO(b'hello'),
                                   size=5,
                                   name='test',
                                   parentType='folder',
                                   parent=folder,
                                   user=admin,
                                   assetstore=fsAssetstore)

    Record().collection.remove({})  # Clear existing records

    File().download(file, headers=False, offset=2, endByte=4)

    records = Record().find()

    assert records.count() == 1
    record = records[0]
    assert record['ip'] == '127.0.0.1'
    assert record['type'] == 'file.download'
    assert record['details']['fileId'] == file['_id']
    assert record['details']['startByte'] == 2
    assert record['details']['endByte'] == 4
    assert isinstance(record['when'], datetime.datetime)
예제 #6
0
def testAuthenticatedRestRequestLogging(server, admin, freshLog):
    server.request('/user/me', user=admin)
    records = Record().find()
    assert records.count() == 1
    record = records[0]
    assert record['userId'] == admin['_id']