コード例 #1
0
def test_device_no_repeat_capacity_increase():
    config = [{"states": ["device"], "battery_low": 75}]

    out = [
        "List of devices attached\nHTC\tdevice",
        "25",
        "List of devices attached\nHTC\tdevice",
        "30",
    ]

    mock = Mock(side_effect=out)
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == [
            {
                "device": "HTC",
                "state": "device",
                "tag": "device"
            },
            {
                "device": "HTC",
                "battery_level": 25,
                "tag": "battery_low"
            },
        ]

        ret = adb.beacon(config)
        assert ret == []
コード例 #2
0
ファイル: test_adb.py プロジェクト: crimv42/saltstack
    def test_device_missing(self):
        config = [{'states': ['device', 'missing']}]

        out = [
            'List of devices attached\nHTC\tdevice',
            'List of devices attached',
            'List of devices attached\nHTC\tdevice',
            'List of devices attached\nHTC\tdevice'
        ]

        mock = Mock(side_effect=out)
        with patch.dict(adb.__salt__, {'cmd.run': mock}):

            ret = adb.validate(config)
            self.assertEqual(ret, (True, 'Valid beacon configuration'))

            ret = adb.beacon(config)
            self.assertEqual(ret, [{'device': 'HTC',
                                    'state': 'device',
                                    'tag': 'device'}])

            ret = adb.beacon(config)
            self.assertEqual(ret, [{'device': 'HTC',
                                    'state': 'missing',
                                    'tag': 'missing'}])

            ret = adb.beacon(config)
            self.assertEqual(ret, [{'device': 'HTC',
                                    'state': 'device',
                                    'tag': 'device'}])

            ret = adb.beacon(config)
            self.assertEqual(ret, [])
コード例 #3
0
def test_multiple_devices():
    config = [{"states": ["offline", "device"]}]

    out = [
        "List of devices attached\nHTC\tdevice",
        "List of devices attached\nHTC\toffline\nNexus\tdevice",
    ]

    mock = Mock(side_effect=out)
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == [{"device": "HTC", "state": "device", "tag": "device"}]

        ret = adb.beacon(config)
        assert ret == [
            {
                "device": "HTC",
                "state": "offline",
                "tag": "offline"
            },
            {
                "device": "Nexus",
                "state": "device",
                "tag": "device"
            },
        ]
コード例 #4
0
def test_multiple_low_batteries():
    config = [{"states": ["device"], "battery_low": 30}]

    out = [
        "List of devices attached\nHTC\tdevice",
        "25\n14",
    ]

    mock = Mock(side_effect=out)
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == [
            {
                "device": "HTC",
                "state": "device",
                "tag": "device"
            },
            {
                "device": "HTC",
                "battery_level": 25,
                "tag": "battery_low"
            },
        ]
コード例 #5
0
def test_device_missing():
    config = [{"states": ["device", "missing"]}]

    out = [
        "List of devices attached\nHTC\tdevice",
        "List of devices attached",
        "List of devices attached\nHTC\tdevice",
        "List of devices attached\nHTC\tdevice",
    ]

    mock = Mock(side_effect=out)
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == [{"device": "HTC", "state": "device", "tag": "device"}]

        ret = adb.beacon(config)
        assert ret == [{"device": "HTC", "state": "missing", "tag": "missing"}]

        ret = adb.beacon(config)
        assert ret == [{"device": "HTC", "state": "device", "tag": "device"}]

        ret = adb.beacon(config)
        assert ret == []
コード例 #6
0
    def test_device_repeat_multi(self):
        config = [{'states': ['offline'], 'battery_low': 35}]

        out = [
            'List of devices attached\nHTC\tdevice', '25',
            'List of devices attached\nHTC\tdevice', '40',
            'List of devices attached\nHTC\tdevice', '25',
            'List of devices attached\nHTC\tdevice', '80'
        ]
        mock = Mock(side_effect=out)
        with patch.dict(adb.__salt__, {'cmd.run': mock}):
            ret = adb.validate(config)
            self.assertEqual(ret, (True, 'Valid beacon configuration'))

            ret = adb.beacon(config)
            self.assertEqual(ret, [{
                'device': 'HTC',
                'battery_level': 25,
                'tag': 'battery_low'
            }])

            ret = adb.beacon(config)
            self.assertEqual(ret, [])

            ret = adb.beacon(config)
            self.assertEqual(ret, [{
                'device': 'HTC',
                'battery_level': 25,
                'tag': 'battery_low'
            }])

            ret = adb.beacon(config)
            self.assertEqual(ret, [])
コード例 #7
0
ファイル: test_adb.py プロジェクト: arizvisa/saltstack-salt
    def test_no_devices_no_repeat(self):
        config = [{"states": ["offline", "device"], "no_devices_event": True}]

        out = [
            "List of devices attached\nHTC\tdevice",
            "List of devices attached",
            "List of devices attached",
        ]

        mock = Mock(side_effect=out)
        with patch.dict(adb.__salt__, {"cmd.run": mock}):

            ret = adb.validate(config)
            self.assertEqual(ret, (True, "Valid beacon configuration"))

            ret = adb.beacon(config)
            self.assertEqual(ret, [{
                "device": "HTC",
                "state": "device",
                "tag": "device"
            }])

            ret = adb.beacon(config)
            self.assertEqual(ret, [{"tag": "no_devices"}])

            ret = adb.beacon(config)
            self.assertEqual(ret, [])
コード例 #8
0
ファイル: test_adb.py プロジェクト: arizvisa/saltstack-salt
    def test_device_low_battery_equal(self):
        config = [{"states": ["device"], "battery_low": 25}]

        out = [
            "List of devices attached\nHTC\tdevice",
            "25",
        ]
        mock = Mock(side_effect=out)
        with patch.dict(adb.__salt__, {"cmd.run": mock}):
            ret = adb.validate(config)
            self.assertEqual(ret, (True, "Valid beacon configuration"))

            ret = adb.beacon(config)
            self.assertEqual(
                ret,
                [
                    {
                        "device": "HTC",
                        "state": "device",
                        "tag": "device"
                    },
                    {
                        "device": "HTC",
                        "battery_level": 25,
                        "tag": "battery_low"
                    },
                ],
            )
コード例 #9
0
    def test_non_list_config(self):
        config = {}

        ret = adb.validate(config)

        self.assertEqual(ret, (False, 'Configuration for adb beacon must'
                               ' be a list.'))
コード例 #10
0
    def test_empty_config(self):
        config = [{}]

        ret = adb.validate(config)

        self.assertEqual(ret, (False, 'Configuration for adb beacon must'
                               ' include a states array.'))
コード例 #11
0
    def test_multiple_devices(self):
        config = [{'states': ['offline', 'device']}]

        out = [
            'List of devices attached\nHTC\tdevice',
            'List of devices attached\nHTC\toffline\nNexus\tdevice'
        ]

        mock = Mock(side_effect=out)
        with patch.dict(adb.__salt__, {'cmd.run': mock}):

            ret = adb.validate(config)
            self.assertEqual(ret, (True, 'Valid beacon configuration'))

            ret = adb.beacon(config)
            self.assertEqual(ret, [{
                'device': 'HTC',
                'state': 'device',
                'tag': 'device'
            }])

            ret = adb.beacon(config)
            self.assertEqual(ret, [{
                'device': 'HTC',
                'state': 'offline',
                'tag': 'offline'
            }, {
                'device': 'Nexus',
                'state': 'device',
                'tag': 'device'
            }])
コード例 #12
0
    def test_no_devices_no_repeat(self):
        config = [{'states': ['offline', 'device'], 'no_devices_event': True}]

        out = [
            'List of devices attached\nHTC\tdevice',
            'List of devices attached', 'List of devices attached'
        ]

        mock = Mock(side_effect=out)
        with patch.dict(adb.__salt__, {'cmd.run': mock}):

            ret = adb.validate(config)
            self.assertEqual(ret, (True, 'Valid beacon configuration'))

            ret = adb.beacon(config)
            self.assertEqual(ret, [{
                'device': 'HTC',
                'state': 'device',
                'tag': 'device'
            }])

            ret = adb.beacon(config)
            self.assertEqual(ret, [{'tag': 'no_devices'}])

            ret = adb.beacon(config)
            self.assertEqual(ret, [])
コード例 #13
0
def test_invalid_states():
    config = [{"states": ["Random", "Failings"]}]

    ret = adb.validate(config)
    assert ret == (
        False,
        "Need a one of the following adb states: offline, bootloader, device, host, recovery, no permissions, sideload, unauthorized, unknown, missing",
    )
コード例 #14
0
def test_no_devices_with_different_states():
    config = [{"states": ["offline"], "no_devices_event": True}]

    mock = Mock(return_value="List of devices attached\nHTC\tdevice")
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == []
コード例 #15
0
def test_device_state():
    config = [{"states": ["device"]}]

    mock = Mock(return_value="List of devices attached\nHTC\tdevice")
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == [{"device": "HTC", "state": "device", "tag": "device"}]
コード例 #16
0
    def test_invalid_states(self):
        config = [{'states': ['Random', 'Failings']}]

        ret = adb.validate(config)

        self.assertEqual(ret, (False, 'Need a one of the following'
                               ' adb states: offline, bootloader,'
                               ' device, host, recovery, no'
                               ' permissions, sideload,'
                               ' unauthorized, unknown, missing'))
コード例 #17
0
    def test_no_devices_with_different_states(self):
        config = [{'states': ['offline'], 'no_devices_event': True}]

        mock = Mock(return_value='List of devices attached\nHTC\tdevice')
        with patch.dict(adb.__salt__, {'cmd.run': mock}):

            ret = adb.validate(config)
            self.assertEqual(ret, (True, 'Valid beacon configuration'))

            ret = adb.beacon(config)
            self.assertEqual(ret, [])
コード例 #18
0
def test_with_startup():
    config = [{"states": ["device"]}]

    mock = Mock(return_value=(
        "* daemon started successfully *\nList of devices attached\nHTC\tdevice"
    ), )
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == [{"device": "HTC", "state": "device", "tag": "device"}]
コード例 #19
0
ファイル: test_adb.py プロジェクト: crimv42/saltstack
    def test_with_startup(self):
        config = [{'states': ['device']}]

        mock = Mock(return_value='* daemon started successfully *\nList of devices attached\nHTC\tdevice',)
        with patch.dict(adb.__salt__, {'cmd.run': mock}):
            ret = adb.validate(config)
            self.assertEqual(ret, (True, 'Valid beacon configuration'))

            ret = adb.beacon(config)
            self.assertEqual(ret, [{'device': 'HTC',
                                    'state': 'device',
                                    'tag': 'device'}])
コード例 #20
0
def test_with_user():
    config = [{"states": ["device"], "user": "******"}]

    mock = Mock(return_value=(
        "* daemon started successfully *\nList of devices attached\nHTC\tdevice"
    ))
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        mock.assert_called_once_with("adb devices", runas="fred")
        assert ret == [{"device": "HTC", "state": "device", "tag": "device"}]
コード例 #21
0
ファイル: test_adb.py プロジェクト: crimv42/saltstack
    def test_with_user(self):
        config = [{'states': ['device'], 'user': '******'}]

        mock = Mock(return_value='* daemon started successfully *\nList of devices attached\nHTC\tdevice')
        with patch.dict(adb.__salt__, {'cmd.run': mock}):
            ret = adb.validate(config)
            self.assertEqual(ret, (True, 'Valid beacon configuration'))

            ret = adb.beacon(config)
            mock.assert_called_once_with('adb devices', runas='fred')
            self.assertEqual(ret, [{'device': 'HTC',
                                    'state': 'device',
                                    'tag': 'device'}])
コード例 #22
0
ファイル: test_adb.py プロジェクト: crimv42/saltstack
    def test_weird_batteries(self):
        config = [{'states': ['device'], 'battery_low': 25}]

        out = [
            'List of devices attached\nHTC\tdevice',
            '-9000',
        ]
        mock = Mock(side_effect=out)
        with patch.dict(adb.__salt__, {'cmd.run': mock}):
            ret = adb.validate(config)
            self.assertEqual(ret, (True, 'Valid beacon configuration'))

            ret = adb.beacon(config)
            self.assertEqual(ret, [{'device': 'HTC', 'state': 'device', 'tag': 'device'}])
コード例 #23
0
ファイル: test_adb.py プロジェクト: crimv42/saltstack
    def test_device_battery_not_found(self):
        config = [{'states': ['device'], 'battery_low': 25}]

        out = [
            'List of devices attached\nHTC\tdevice',
            '/system/bin/sh: cat: /sys/class/power_supply/*/capacity: No such file or directory',
        ]
        mock = Mock(side_effect=out)
        with patch.dict(adb.__salt__, {'cmd.run': mock}):
            ret = adb.validate(config)
            self.assertEqual(ret, (True, 'Valid beacon configuration'))

            ret = adb.beacon(config)
            self.assertEqual(ret, [{'device': 'HTC', 'state': 'device', 'tag': 'device'}])
コード例 #24
0
def test_device_battery_charged():
    config = [{"states": ["device"], "battery_low": 30}]

    out = [
        "List of devices attached\nHTC\tdevice",
        "100",
    ]

    mock = Mock(side_effect=out)
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == [{"device": "HTC", "state": "device", "tag": "device"}]
コード例 #25
0
def test_device_battery_not_found():
    config = [{"states": ["device"], "battery_low": 25}]

    out = [
        "List of devices attached\nHTC\tdevice",
        "/system/bin/sh: cat: /sys/class/power_supply/*/capacity: No such file or directory",
    ]

    mock = Mock(side_effect=out)
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == [{"device": "HTC", "state": "device", "tag": "device"}]
コード例 #26
0
def test_no_devices():
    config = [{"states": ["offline", "device"], "no_devices_event": True}]

    out = ["List of devices attached", "List of devices attached"]

    mock = Mock(side_effect=out)
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == [{"tag": "no_devices"}]

        ret = adb.beacon(config)
        assert ret == []
コード例 #27
0
ファイル: test_adb.py プロジェクト: arizvisa/saltstack-salt
    def test_invalid_states(self):
        config = [{"states": ["Random", "Failings"]}]

        ret = adb.validate(config)

        self.assertEqual(
            ret,
            (
                False,
                "Need a one of the following"
                " adb states: offline, bootloader,"
                " device, host, recovery, no"
                " permissions, sideload,"
                " unauthorized, unknown, missing",
            ),
        )
コード例 #28
0
def test_device_repeat_multi():
    config = [{"states": ["offline"], "battery_low": 35}]

    out = [
        "List of devices attached\nHTC\tdevice",
        "25",
        "List of devices attached\nHTC\tdevice",
        "40",
        "List of devices attached\nHTC\tdevice",
        "25",
        "List of devices attached\nHTC\tdevice",
        "80",
    ]

    mock = Mock(side_effect=out)
    with patch.dict(adb.__salt__, {"cmd.run": mock}):
        ret = adb.validate(config)
        assert ret == (True, "Valid beacon configuration")

        ret = adb.beacon(config)
        assert ret == [{
            "device": "HTC",
            "battery_level": 25,
            "tag": "battery_low"
        }]

        ret = adb.beacon(config)
        assert ret == []

        ret = adb.beacon(config)
        assert ret == [{
            "device": "HTC",
            "battery_level": 25,
            "tag": "battery_low"
        }]

        ret = adb.beacon(config)
        assert ret == []
コード例 #29
0
def test_non_list_config():
    config = {}

    ret = adb.validate(config)
    assert ret == (False, "Configuration for adb beacon must be a list.")
コード例 #30
0
def test_empty_config():
    config = [{}]

    ret = adb.validate(config)
    assert ret == (False,
                   "Configuration for adb beacon must include a states array.")