Esempio n. 1
0
    def test_bruteforce_attack_successful(self):
        random_owner = uuid()
        device_uuid = setup_device()[0]
        setup_workload(device_uuid, clear_device=False)
        target_device = setup_device(owner=random_owner, clear_device=False)[0]
        service_uuid = create_service(device_uuid,
                                      name="bruteforce",
                                      n=2,
                                      speed=1.0)[1]
        target_service = create_service(target_device,
                                        clear_service=False,
                                        speed=1.0)[0]
        create_bruteforce_service(service_uuid, target_device, target_service,
                                  True)

        expected = {"ok": True}
        actual = self.client.ms(
            "service",
            ["bruteforce", "attack"],
            device_uuid=device_uuid,
            service_uuid=service_uuid,
            target_device=target_device,
            target_service=target_service,
        )
        self.assertEqual(expected, actual)
Esempio n. 2
0
    def test_bruteforce_stop_service_not_running(self):
        device_uuid = setup_device()[0]
        target_device = setup_device(owner=uuid(), clear_device=False)
        service_uuid = create_service(device_uuid, "bruteforce", speed=1.0)[0]
        target_service = create_service(target_device,
                                        n=2,
                                        clear_service=False)[1]
        create_bruteforce_service(service_uuid, target_device, target_service)

        with self.assertRaises(ServiceNotRunningException):
            self.client.ms("service", ["bruteforce", "stop"],
                           device_uuid=device_uuid,
                           service_uuid=service_uuid)
Esempio n. 3
0
    def test_miner_list_successful(self):
        device_uuid = setup_device()[0]
        service_uuid = create_service(device_uuid, "miner")[0]
        wallet_uuid = create_wallet()[0]
        create_miner_service(service_uuid, wallet_uuid)

        expected = {
            "miners": [{
                "service": {
                    "running": True,
                    "owner": super_uuid,
                    "running_port": 1337,
                    "name": "miner",
                    "uuid": service_uuid,
                    "device": device_uuid,
                    "part_owner": None,
                    "speed": None,
                },
                "miner": {
                    "wallet": wallet_uuid,
                    "started": 0,
                    "power": 0.0,
                    "uuid": service_uuid
                },
            }]
        }
        actual = self.client.ms("service", ["miner", "list"],
                                wallet_uuid=wallet_uuid)
        self.assertEqual(expected, actual)
Esempio n. 4
0
    def test_miner_power_device_not_found(self):
        service_uuid = create_service(uuid(), "miner")[0]

        with self.assertRaises(DeviceNotFoundException):
            self.client.ms("service", ["miner", "power"],
                           service_uuid=service_uuid,
                           power=0.5)
Esempio n. 5
0
    def test_miner_wallet_device_not_found(self):
        service_uuid = create_service(uuid(), "miner")[0]

        with self.assertRaises(DeviceNotFoundException):
            self.client.ms("service", ["miner", "wallet"],
                           service_uuid=service_uuid,
                           wallet_uuid=uuid())
Esempio n. 6
0
    def test_miner_get_permission_denied(self):
        device_uuid = setup_device(owner=uuid())[0]
        service_uuid = create_service(device_uuid, "miner")[0]

        with self.assertRaises(PermissionDeniedException):
            self.client.ms("service", ["miner", "get"],
                           service_uuid=service_uuid)
Esempio n. 7
0
    def test_miner_get_device_powered_off(self):
        device_uuid = setup_device(2)[1]
        service_uuid = create_service(device_uuid, "miner")[0]

        with self.assertRaises(DeviceNotOnlineException):
            self.client.ms("service", ["miner", "get"],
                           service_uuid=service_uuid)
Esempio n. 8
0
    def test_bruteforce_status_permission_denied(self):
        device_uuid = setup_device(owner=uuid())[0]
        service_uuid = create_service(device_uuid, "bruteforce", speed=0.0)[0]

        with self.assertRaises(PermissionDeniedException):
            self.client.ms("service", ["bruteforce", "status"],
                           device_uuid=device_uuid,
                           service_uuid=service_uuid)
Esempio n. 9
0
    def test_bruteforce_status_device_not_found(self):
        device_uuid = uuid()
        service_uuid = create_service(device_uuid, "bruteforce", speed=0.0)[0]

        with self.assertRaises(DeviceNotFoundException):
            self.client.ms("service", ["bruteforce", "status"],
                           device_uuid=device_uuid,
                           service_uuid=service_uuid)
Esempio n. 10
0
    def test_miner_wallet_device_not_online(self):
        device_uuid = setup_device(2)[1]
        service_uuid = create_service(device_uuid, "miner")[0]

        with self.assertRaises(DeviceNotOnlineException):
            self.client.ms("service", ["miner", "wallet"],
                           service_uuid=service_uuid,
                           wallet_uuid=uuid())
Esempio n. 11
0
    def test_bruteforce_attack_could_not_start_service(self):
        device_uuid = setup_device()[0]
        target_device = setup_device(owner=uuid(), clear_device=False)[0]
        service_uuid = create_service(device_uuid,
                                      name="bruteforce",
                                      n=2,
                                      speed=1.0)[1]
        target_service = create_service(target_device, clear_service=False)[0]

        with self.assertRaises(CouldNotStartService):
            self.client.ms(
                "service",
                ["bruteforce", "attack"],
                device_uuid=device_uuid,
                service_uuid=service_uuid,
                target_device=target_device,
                target_service=target_service,
            )
Esempio n. 12
0
    def test_miner_power_wallet_not_found(self):
        device_uuid = setup_device()[0]
        service_uuid = create_service(device_uuid, "miner")[0]
        create_miner_service(service_uuid, uuid())

        with self.assertRaises(WalletNotFoundException):
            self.client.ms("service", ["miner", "power"],
                           service_uuid=service_uuid,
                           power=0.5)
Esempio n. 13
0
    def test_bruteforce_stop_successful(self):
        device_uuid = setup_device()[0]
        target_device = setup_device(owner=uuid(), clear_device=False)[0]
        target_service = create_service(target_device)[0]
        service_uuid = create_service(device_uuid,
                                      "bruteforce",
                                      speed=2.0,
                                      clear_service=False)[0]
        create_bruteforce_service(service_uuid, target_device, target_service,
                                  True)

        actual = self.client.ms("service", ["bruteforce", "stop"],
                                device_uuid=device_uuid,
                                service_uuid=service_uuid)
        self.assertEqual(True, actual["ok"])
        self.assertEqual(target_device, actual["target_device"])
        self.assertIsInstance(actual["access"], bool)
        self.assertIsInstance(actual["progress"], float)
Esempio n. 14
0
    def test_bruteforce_status_device_powered_off(self):
        device_uuid = setup_device(2)[1]
        service_uuid = create_service(device_uuid, "bruteforce", speed=0.0)[0]
        create_bruteforce_service(service_uuid, uuid(), uuid())

        with self.assertRaises(DeviceNotOnlineException):
            self.client.ms("service", ["bruteforce", "status"],
                           device_uuid=device_uuid,
                           service_uuid=service_uuid)
Esempio n. 15
0
    def test_miner_power_could_not_start_service(self):
        device_uuid = setup_device()[0]
        service_uuid = create_service(device_uuid, "miner", speed=1)[0]
        wallet_uuid = create_wallet()[0]
        create_miner_service(service_uuid, wallet_uuid)

        with self.assertRaises(CouldNotStartService):
            self.client.ms("service", ["miner", "power"],
                           service_uuid=service_uuid,
                           power=0.5)
Esempio n. 16
0
    def test_bruteforce_stop_attack_not_running(self):
        device_uuid = setup_device()[0]
        service_uuid = create_service(device_uuid,
                                      "bruteforce",
                                      speed=1.0,
                                      n=2)[1]

        with self.assertRaises(AttackNotRunningException):
            self.client.ms("service", ["bruteforce", "stop"],
                           device_uuid=device_uuid,
                           service_uuid=service_uuid)
Esempio n. 17
0
    def test_bruteforce_stop_device_powered_off(self):
        device_uuid = setup_device(2)[1]
        service_uuid = create_service(device_uuid,
                                      "bruteforce",
                                      speed=2.0,
                                      clear_service=False)[0]

        with self.assertRaises(DeviceNotOnlineException):
            self.client.ms("service", ["bruteforce", "stop"],
                           device_uuid=device_uuid,
                           service_uuid=service_uuid)
Esempio n. 18
0
    def test_bruteforce_stop_device_not_found(self):
        device_uuid = uuid()
        service_uuid = create_service(device_uuid,
                                      "bruteforce",
                                      speed=2.0,
                                      clear_service=False)[0]

        with self.assertRaises(DeviceNotFoundException):
            self.client.ms("service", ["bruteforce", "stop"],
                           device_uuid=device_uuid,
                           service_uuid=service_uuid)
Esempio n. 19
0
    def test_bruteforce_attack_service_not_running(self):
        device_uuid = setup_device()[0]
        target_device = setup_device(owner=uuid(), clear_device=False)[0]
        service_uuid = create_service(device_uuid,
                                      name="bruteforce",
                                      n=2,
                                      speed=1.0)[1]
        target_service = create_service(target_device,
                                        n=2,
                                        clear_service=False)[1]

        with self.assertRaises(ServiceNotRunningException):
            self.client.ms(
                "service",
                ["bruteforce", "attack"],
                device_uuid=device_uuid,
                service_uuid=service_uuid,
                target_device=target_device,
                target_service=target_service,
            )
Esempio n. 20
0
    def test_miner_wallet(self):
        device_uuid = setup_device()[0]
        service_uuid = create_service(device_uuid, "miner", speed=1.0)[0]
        create_miner_service(service_uuid)
        wallet_uuid = create_wallet()[0]

        actual = self.client.ms("service", ["miner", "wallet"],
                                service_uuid=service_uuid,
                                wallet_uuid=wallet_uuid)
        self.assertEqual(wallet_uuid, actual["wallet"])
        self.assertEqual(0.0, actual["power"])
        self.assertEqual(service_uuid, actual["uuid"])
        self.assertIsInstance(actual["started"], int)
Esempio n. 21
0
    def test_miner_get_successful(self):
        device_uuid = setup_device()[0]
        service_uuid = create_service(device_uuid, "miner")[0]
        create_miner_service(service_uuid)

        expected = {
            "wallet": None,
            "started": 0,
            "power": 0.0,
            "uuid": service_uuid
        }
        actual = self.client.ms("service", ["miner", "get"],
                                service_uuid=service_uuid)
        self.assertEqual(expected, actual)
Esempio n. 22
0
    def test_miner_power_successful(self):
        device_uuid = setup_device()[0]
        setup_workload(device_uuid, False)
        service_uuid = create_service(device_uuid, "miner", n=2)[1]
        wallet_uuid = create_wallet()[0]
        create_miner_service(service_uuid, wallet_uuid, False, 1)

        actual = self.client.ms("service", ["miner", "power"],
                                service_uuid=service_uuid,
                                power=1.0)
        self.assertEqual(service_uuid, actual["uuid"])
        self.assertEqual(wallet_uuid, actual["wallet"])
        self.assertEqual(1.0, actual["power"])
        self.assertIsInstance(actual["started"], int)
Esempio n. 23
0
    def test_bruteforce_attack_device_not_found(self):
        device_uuid = uuid()
        service_uuid = create_service(device_uuid,
                                      name="bruteforce",
                                      n=2,
                                      speed=0.0)[1]

        with self.assertRaises(DeviceNotFoundException):
            self.client.ms(
                "service",
                ["bruteforce", "attack"],
                device_uuid=device_uuid,
                service_uuid=service_uuid,
                target_device=uuid(),
                target_service=uuid(),
            )
Esempio n. 24
0
    def test_bruteforce_status_successful(self):
        device_uuid = setup_device()[0]
        service_uuid = create_service(device_uuid, "bruteforce", speed=0.0)[0]
        create_bruteforce_service(service_uuid, uuid(), uuid(), True)

        actual = self.client.ms("service", ["bruteforce", "status"],
                                device_uuid=device_uuid,
                                service_uuid=service_uuid)
        self.assert_dict_with_keys(
            actual,
            ["uuid", "started", "target_device", "target_service", "progress"])
        self.assertEqual(service_uuid, actual["uuid"])
        self.assertEqual(1.0, actual["progress"])
        self.assert_valid_uuid(actual["target_device"])
        self.assert_valid_uuid(actual["target_service"])
        self.assertIsInstance(actual["started"], int)
Esempio n. 25
0
    def test_bruteforce_attack_permission_denied(self):
        device_uuid = setup_device(owner=uuid())[0]
        service_uuid = create_service(device_uuid,
                                      name="bruteforce",
                                      n=2,
                                      speed=0.0)[1]

        with self.assertRaises(PermissionDeniedException):
            self.client.ms(
                "service",
                ["bruteforce", "attack"],
                device_uuid=device_uuid,
                service_uuid=service_uuid,
                target_device=uuid(),
                target_service=uuid(),
            )
Esempio n. 26
0
    def test_bruteforce_attack_device_powered_off(self):
        device_uuid = setup_device(2)[1]
        service_uuid = create_service(device_uuid,
                                      name="bruteforce",
                                      n=2,
                                      speed=0.0)[1]

        with self.assertRaises(DeviceNotOnlineException):
            self.client.ms(
                "service",
                ["bruteforce", "attack"],
                device_uuid=device_uuid,
                service_uuid=service_uuid,
                target_device=uuid(),
                target_service=uuid(),
            )
Esempio n. 27
0
    def test_bruteforce_attack_already_running(self):
        device_uuid = setup_device()[0]
        service_uuid = create_service(device_uuid,
                                      name="bruteforce",
                                      n=1,
                                      speed=1.0)[0]

        with self.assertRaises(AttackAlreadyRunning):
            self.client.ms(
                "service",
                ["bruteforce", "attack"],
                device_uuid=device_uuid,
                service_uuid=service_uuid,
                target_device=uuid(),
                target_service=uuid(),
            )