Beispiel #1
0
    def test_devicemanagement_router_list_admins_by_role(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.list_admins_by_role('Server/TEST/devices/test.example.com',
                                       'ZenManager')
        assert len(resp) == 1
Beispiel #2
0
    def test_devicemanagement_router_list_admin_roles(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.list_admin_roles('Server/TEST/devices/test.example.com')
        assert len(resp) == 1
        assert resp[0]['name'] == "admin"
Beispiel #3
0
    def test_devicemanagement_router_list_admin_users(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.list_users('Server/TEST/devices/test.example.com')
        assert len(resp) == 4
        assert resp == ['admin', 'ccuser', 'lenny', 'zenoss_system']
Beispiel #4
0
    def test_devicemanagement_router_list_available_roles(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.list_available_roles('Server/TEST/devices/test.example.com')
        assert len(resp) == 4
        assert resp == ['Manager', 'ZenManager', 'ZenOperator', 'ZenUser']
Beispiel #5
0
    def test_devicemanagement_router_get_admin_by_id(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.get_admin_by_id('Server/TEST/devices/test.example.com',
                                   'admin')
        assert isinstance(resp, ZenossDeviceManagementAdmin)
        assert resp.name == "admin"
Beispiel #6
0
    def test_devicemanagement_router_zenossmaintenancewindow_delete(
            self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        mw = dmr.get_maintenance_window('Server/TEST', 'TestAddWindow')
        resp = mw.delete()
        assert resp['data'] is None
Beispiel #7
0
    def test_devicemanagement_router_zenossusercommand_delete(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        uc = dmr.get_user_command_by_name(
            'Server/TEST/devices/test.example.com', 'uname_a')
        resp = uc.delete()
        assert resp['data'] is None
Beispiel #8
0
    def test_devicemanagement_router_get_admins(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.get_admins('Server/TEST/devices/test.example.com')
        assert len(resp) == 1
        assert isinstance(resp[0], ZenossDeviceManagementAdmin)
        assert resp[
            0].uid == "Devices/Server/TEST/devices/test.example.com/adminRoles/admin"
Beispiel #9
0
    def test_devicemanagement_router_add_maintenance_window(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.add_maintenance_window('Server/TEST', 'TestAddWindow',
                                          '1511290393', '01:00:00')
        assert isinstance(resp, ZenossMaintenanceWindow)
        assert resp.name == "TestAddWindow"
        assert resp.parent == "Devices/Server/TEST"
Beispiel #10
0
    def test_devicemanagement_router_zenossusercommand_update(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        uc = dmr.get_user_command_by_name(
            'Server/TEST/devices/test2.example.com', 'uname_a')
        resp = uc.update(description="Run uname -a command", password="******")
        assert resp
        assert uc.description == "Run uname -a command"
Beispiel #11
0
    def test_devicemanagement_router_add_user_command(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.add_user_command('Server/TEST/devices/test.example.com',
                                    'uname_a', 'uname -a', 'uname -a',
                                    'zenoss')
        assert isinstance(resp, ZenossUserCommand)
        assert resp.id == "uname_a"
        assert resp.command == "uname -a"
Beispiel #12
0
    def test_devicemanagement_router_zenossdevicemanagementadmin_update(
            self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        au = dmr.get_admin_by_name(
            'Devices/Server/TEST/devices/test.example.com', 'lenny')
        resp = au.update('ZenManager')
        assert resp
        assert au.role == "ZenManager"
Beispiel #13
0
    def test_devicemanagement_router_add_admin(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.add_admin('Server/TEST/devices/test.example.com', 'lenny',
                             'ZenUser')
        assert isinstance(resp, ZenossDeviceManagementAdmin)
        assert resp.name == "lenny"
        assert resp.role == "ZenUser"
        assert resp.uid == "Devices/Server/TEST/devices/test.example.com/adminRoles/lenny"
Beispiel #14
0
    def test_devicemanagement_router_zenossmaintenancewindow_disable(
            self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        mw = dmr.get_maintenance_window('Server/TEST', 'TestAddWindow')
        mw.enabled = True
        resp = mw.disable()
        assert resp
        assert mw.enabled is False
Beispiel #15
0
 def test_devicemanagement_router_add_maintenance_window_bad_days(self):
     dmr = DeviceManagementRouter(url, headers, False)
     with pytest.raises(
             ZenossAPIClientError,
             message="Request failed: Invalid maintenance window days: Bogus"
     ):
         resp = dmr.add_maintenance_window('Server/TEST',
                                           'TestAddWindow',
                                           '1511290393',
                                           '01:00:00',
                                           days='Bogus')
Beispiel #16
0
    def test_devicemanagement_router_list_maintenance_windows(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.list_maintenance_windows('Server/TEST')
        assert len(resp) == 3
        assert resp[0]['name'] == "TestWindow"
        assert resp[0][
            'uid'] == "Devices/Server/TEST/maintenanceWindows/TestWindow"
        assert resp[1]['name'] == "TestWindowRepeat"
        assert resp[1][
            'uid'] == "Devices/Server/TEST/maintenanceWindows/TestWindowRepeat"
Beispiel #17
0
    def test_devicemanagement_router_list_user_commands(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.list_user_commands('Server/TEST')
        assert len(resp) == 6
        assert resp[0]['id'] == "DNS forward"
        assert resp[1]['id'] == "DNS reverse"
        assert resp[2]['id'] == "ping"
        assert resp[3]['id'] == "snmpwalk"
        assert resp[4]['id'] == "snmpwalk_v3"
        assert resp[5]['id'] == "traceroute"
Beispiel #18
0
    def test_devicemanagement_router_get_user_command_by_id(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.get_user_command_by_id('Server/TEST', 'DNS forward')
        assert isinstance(resp, ZenossUserCommand)
        assert resp.id == "DNS forward"
        assert resp.description == "Name to IP address lookup"
        assert resp.meta_type == "UserCommand"
        assert resp.name == "DNS forward"
        assert resp.command == "host ${device/id}"
        assert resp.uid == "userCommands/DNS forward"
        assert resp.parent == "Devices/Server/TEST"
Beispiel #19
0
    def test_devicemanagement_router_get_user_command_by_name(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.get_user_command_by_name('Server/TEST', 'ping')
        assert isinstance(resp, ZenossUserCommand)
        assert resp.id == "ping"
        assert resp.description == "Is the device responding to ping?"
        assert resp.meta_type == "UserCommand"
        assert resp.name == "ping"
        assert resp.command == "${device/pingCommand} -c2 ${device/manageIp}"
        assert resp.uid == "userCommands/ping"
        assert resp.parent == "Devices/Server/TEST"
Beispiel #20
0
    def test_devicemanagement_router_add_user_command_bad_password(
            self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        with pytest.raises(
                ZenossAPIClientError,
                message=
                "Request failed: Exception: Add new command failed. Incorrect or missing password."
        ):
            resp = dmr.add_user_command('Server/TEST/devices/test.example.com',
                                        'uname_a', 'uname -a', 'uname -a',
                                        'bogus')
Beispiel #21
0
    def test_devicemanagement_router_zenossusercommand_update_bad_passwd(
            self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        uc = dmr.get_user_command_by_name(
            'Server/TEST/devices/test2.example.com', 'uname_a')
        with pytest.raises(
                ZenossAPIClientError,
                message=
                "Request failed: Exception: Update failed. Incorrect or missing password."
        ):
            resp = uc.update(description="Run uname -a command",
                             password="******")
Beispiel #22
0
    def test_devicemanagement_router_zenossmaintenancewindow_update(
            self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        mw = dmr.get_maintenance_window('Server/TEST', 'TestAddWindow')
        resp = mw.update(start_date='2017/11/21',
                         start_hours='12',
                         start_minutes='30',
                         duration_minutes='30',
                         occurrence='2nd',
                         days='Monday')
        assert resp
        assert mw.duration == "01:30:00"
        assert mw.start == 1511267400
        assert mw.startTime == "2017/11/21 12:30:00.000 UTC"
Beispiel #23
0
    def test_devicemanagement_router_get_maintenance_windows(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.get_maintenance_windows('Server/TEST')
        assert len(resp) == 3
        assert isinstance(resp[0], ZenossMaintenanceWindow)
        assert isinstance(resp[1], ZenossMaintenanceWindow)
        assert resp[0].name == "TestWindow"
        assert resp[1].name == "TestWindowRepeat"
        assert resp[0].repeat == "Never"
        assert resp[1].repeat == "Monthly: day of week"
        assert resp[0].parent == "Devices/Server/TEST"
        assert resp[1].parent == "Devices/Server/TEST"
        assert resp[0].startDate == "2017/11/17"
        assert resp[0].startHours == "15"
        assert resp[0].startMinutes == "00"
        assert resp[0].durationDays is None
        assert resp[0].durationHours == "01"
        assert resp[0].durationMinutes == "00"
Beispiel #24
0
 def test_devicemanagement_router_init(self):
     dmr = DeviceManagementRouter(url, headers, False)
     assert dmr.uid is None
Beispiel #25
0
    def test_devicemanagement_router_timezone(self, responses):
        responses_callback(responses)

        dmr = DeviceManagementRouter(url, headers, False)
        resp = dmr.timezone()
        assert resp == "UTC"