def test_add_database_user_bad_permissions(self): cli = InfluxDBClient() with self.assertRaisesRegexp( Exception, "'permissions' must be \(readFrom, writeTo\) tuple"): cli.add_database_user(new_password='******', new_username='******', permissions=('hello', 'hello', 'hello'))
def test_add_database_user_bad_permissions(self): cli = InfluxDBClient() with self.assertRaisesRegexp( Exception, "'permissions' must be \(readFrom, writeTo\) tuple" ): cli.add_database_user( new_password='******', new_username='******', permissions=('hello', 'hello', 'hello') )
def createDatabase(request, slicename): result = {} Config = config(request) server = Config.get('influxdb', 'server') #port = Config.get('influxdb', 'port', 8086) port = 8086 user = Config.get('influxdb', 'user') password = Config.get('influxdb', 'password') dbname = slicename dbuser = request.user.username dbpassword = generatePassword() query = Query().get('user').filter_by('user_email', '==', dbuser).select('slices') slices = execute_query(request, query) if not slicename in slices: result['status'] = 'fail' result['message'] = 'no permissions' return HttpResponse(json.dumps(result), content_type="application/json") client = InfluxDBClient(server, port, user, password, dbname) try: client.create_database(dbname) except Exception as e: print e # Add database user try: client.add_database_user(dbuser, dbpassword) except Exception as e: print e # Make user a database admin client.set_database_admin(dbuser) # Insert an entry in the Influxdb table i = MeasurementsDB(backend='influxdb', server=server, port=port, dbname=dbname, dbuser=dbuser, dbpassword=dbpassword) i.save() result['status'] = 'ok' return HttpResponse(json.dumps(result), content_type="application/json")
def main(host='localhost', port=8086): user = '******' password = '******' dbname = 'example' dbuser = '******' dbuser_password = '******' query = 'select column_one from foo;' json_body = [{ "points": [ ["1", 1, 1.0], ["2", 2, 2.0] ], "name": "foo", "columns": ["column_one", "column_two", "column_three"] }] client = InfluxDBClient(host, port, user, password, dbname) print("Create database: " + dbname) client.create_database(dbname) dbusers = client.get_database_users() print("Get list of database users: {0}".format(dbusers)) print("Add database user: "******"Make user a database admin") client.set_database_admin(dbuser) print("Remove admin privilege from user") client.unset_database_admin(dbuser) dbusers = client.get_database_users() print("Get list of database users again: {0}".format(dbusers)) print("Switch user: "******"Write points: {0}".format(json_body)) client.write_points(json_body) print("Queying data: " + query) result = client.query(query) print("Result: {0}".format(result)) print("Switch user: "******"Delete database: " + dbname) client.delete_database(dbname)
def test_add_database_user(self): with requests_mock.Mocker() as m: m.register_uri(requests_mock.POST, "http://localhost:8086/db/db/users") cli = InfluxDBClient(database='db') cli.add_database_user(new_username='******', new_password='******', permissions=('.*', '.*')) self.assertDictEqual( json.loads(m.last_request.body), { 'writeTo': '.*', 'password': '******', 'readFrom': '.*', 'name': 'paul' })
def test_add_database_user(self): with requests_mock.Mocker() as m: m.register_uri( requests_mock.POST, "http://localhost:8086/db/db/users" ) cli = InfluxDBClient(database='db') cli.add_database_user( new_username='******', new_password='******', permissions=('.*', '.*') ) self.assertDictEqual( json.loads(m.last_request.body), { 'writeTo': '.*', 'password': '******', 'readFrom': '.*', 'name': 'paul' } )