示例#1
0
    def test_device_state_integer_values(self):

        device = Device(name=TestDevice.NAME,
                        state={
                            'path': 0,
                            'name': 0
                        },
                        protocol=TestDevice.PROTOCOL)
示例#2
0
    def test_device_state_unsupported_path_extension(self):

        device = Device(name=TestDevice.NAME,
                        state={
                            'path': '/not/supported.ext',
                            'name': 'table_name'
                        },
                        protocol=TestDevice.PROTOCOL)
示例#3
0
    def test_device_protocol_less_than_three_keys(self):

        device = Device(name=TestDevice.NAME,
                        state=TestDevice.STATE,
                        protocol={
                            'name': 'enip',
                            'mode': 0
                        })
示例#4
0
    def test_device_state_wrong_key(self):

        device = Device(name=TestDevice.NAME,
                        state={
                            'path': '/bla',
                            'bla': 'table_name'
                        },
                        protocol=TestDevice.PROTOCOL)
示例#5
0
    def test_device_protocol_name_not_string(self):

        device = Device(name=TestDevice.NAME,
                        state=TestDevice.STATE,
                        protocol={
                            'name': 1,
                            'mode': 0,
                            'server': ''
                        })
示例#6
0
    def test_device_state_more_than_two_keys(self):

        device = Device(name=TestDevice.NAME,
                        state={
                            'name': 'table_name',
                            'path': '/path.db',
                            'wrong': 'key-val'
                        },
                        protocol=TestDevice.PROTOCOL)
示例#7
0
    def test_device_protocol_mode_float(self):

        device = Device(name=TestDevice.NAME,
                        state=TestDevice.STATE,
                        protocol={
                            'name': 'enip',
                            'mode': 0.3,
                            'server': ''
                        })
示例#8
0
    def test_device_protocol_mode_negative_int(self):

        device = Device(name=TestDevice.NAME,
                        state=TestDevice.STATE,
                        protocol={
                            'name': 'enip',
                            'mode': -3,
                            'server': ''
                        })
示例#9
0
    def test_device_protocol_wrong_key(self):

        device = Device(name=TestDevice.NAME,
                        state=TestDevice.STATE,
                        protocol={
                            'name': 'enip',
                            'mode': 0,
                            'bla': ''
                        })
示例#10
0
    def test_device_protocol_name_unsupported_name(self):

        device = Device(name=TestDevice.NAME,
                        state=TestDevice.STATE,
                        protocol={
                            'name': 'wow',
                            'mode': 0,
                            'server': ''
                        })
示例#11
0
    def test_device_protocol_more_than_three_keys(self):

        device = Device(name=TestDevice.NAME,
                        state=TestDevice.STATE,
                        protocol={
                            'name': 'enip',
                            'mode': 0,
                            'server': '',
                            'too': 'much'
                        })
示例#12
0
    def test_validate_device_name(self):
        """Validate device name:

            - name is an int
            - name is an empty string
        """

        try:
            device = Device(name=1,
                            state=TestDevice.STATE,
                            protocol=TestDevice.PROTOCOL)
        except TypeError as error:
            print 'name is an int: ', error

        try:
            device = Device(name='',
                            state=TestDevice.STATE,
                            protocol=TestDevice.PROTOCOL)
        except ValueError as error:
            print 'name is empty string: ', error
示例#13
0
    def test_validate_protocol(self):
        """Validate device protocol:

            - protocol is a string
            - protocol is an empty dict
            - protocol has more/less than three keys
            - protocol has a wrong key
            - protocol name is not a string
            - protocol has an unsupported name
            - protocol mode is a float
            - protocol mode is a negative int
        """

        try:
            device = Device(name=TestDevice.NAME,
                            state=TestDevice.STATE,
                            protocol='protocol')
        except TypeError as error:
            print 'protocol is string: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state=TestDevice.STATE,
                            protocol={})
        except KeyError as error:
            print 'protocol is an empty dict: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state=TestDevice.STATE,
                            protocol={
                                'name': 'enip',
                                'mode': 0,
                                'server': '',
                                'too': 'much'
                            })
        except KeyError as error:
            print 'protocol has more than 3 keys: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state=TestDevice.STATE,
                            protocol={
                                'name': 'enip',
                                'mode': 0
                            })
        except KeyError as error:
            print 'protocol has less than 3 keys: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state=TestDevice.STATE,
                            protocol={
                                'name': 'enip',
                                'mode': 0,
                                'bla': ''
                            })
        except KeyError as error:
            print 'protocol has a wrong key: ', error

        # protocol['name']
        try:
            device = Device(name=TestDevice.NAME,
                            state=TestDevice.STATE,
                            protocol={
                                'name': 1,
                                'mode': 0,
                                'server': ''
                            })
        except TypeError as error:
            print 'protocol name is not a string: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state=TestDevice.STATE,
                            protocol={
                                'name': 'wow',
                                'mode': 0,
                                'server': ''
                            })
        except ValueError as error:
            print 'protocol has an unsupported name: ', error

        # protocol['mode']
        try:
            device = Device(name=TestDevice.NAME,
                            state=TestDevice.STATE,
                            protocol={
                                'name': 'enip',
                                'mode': 0.3,
                                'server': ''
                            })
        except TypeError as error:
            print 'protocol mode is a float: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state=TestDevice.STATE,
                            protocol={
                                'name': 'enip',
                                'mode': -3,
                                'server': ''
                            })
        except ValueError as error:
            print 'protocol mode is a negative int: ', error
示例#14
0
    def test_device_state_less_than_two_keys(self):

        device = Device(name=TestDevice.NAME,
                        state={'name': 'table_name'},
                        protocol=TestDevice.PROTOCOL)
示例#15
0
    def test_device_state_empty_dict(self):

        device = Device(name=TestDevice.NAME,
                        state={},
                        protocol=TestDevice.PROTOCOL)
示例#16
0
    def test_device_state_is_string(self):

        device = Device(name=TestDevice.NAME,
                        state='state',
                        protocol=TestDevice.PROTOCOL)
示例#17
0
    def test_device_name_is_empty_string(self):

        device = Device(name='',
                        state=TestDevice.STATE,
                        protocol=TestDevice.PROTOCOL)
示例#18
0
    def test_device_name_is_int(self):

        device = Device(name=1,
                        state=TestDevice.STATE,
                        protocol=TestDevice.PROTOCOL)
示例#19
0
    def test_validate_state(self):
        """Validate device state:

            - state is a string
            - state is an empty dict
            - state has more/less than two keys
            - state has a wrong key
            - state has an unsupported path extension
            - state has an integer name value
        """

        try:
            device = Device(name=TestDevice.NAME,
                            state='state',
                            protocol=TestDevice.PROTOCOL)
        except TypeError as error:
            print 'state is string: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state={},
                            protocol=TestDevice.PROTOCOL)
        except KeyError as error:
            print 'state is an empty dict: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state={
                                'name': 'table_name',
                                'path': '/path.db',
                                'wrong': 'key-val'
                            },
                            protocol=TestDevice.PROTOCOL)
        except KeyError as error:
            print 'state has more than 2 keys: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state={'name': 'table_name'},
                            protocol=TestDevice.PROTOCOL)
        except KeyError as error:
            print 'state has less than 2 keys: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state={
                                'path': '/bla',
                                'bla': 'table_name'
                            },
                            protocol=TestDevice.PROTOCOL)
        except KeyError as error:
            print 'state has a wrong key: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state={
                                'path': 0,
                                'name': 0
                            },
                            protocol=TestDevice.PROTOCOL)
        except TypeError as error:
            print 'state has integer values: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state={
                                'path': '/not/supported.ext',
                                'name': 'table_name'
                            },
                            protocol=TestDevice.PROTOCOL)
        except ValueError as error:
            print 'state has an unsupported path extension: ', error

        try:
            device = Device(name=TestDevice.NAME,
                            state={
                                'path': '/not/supported.ext',
                                'name': 4
                            },
                            protocol=TestDevice.PROTOCOL)
        except TypeError as error:
            print 'state has an integer name: ', error
示例#20
0
    def test_device_protocol_empty_dict(self):

        device = Device(name=TestDevice.NAME,
                        state=TestDevice.STATE,
                        protocol={})
示例#21
0
    def test_device_protocol_is_string(self):

        device = Device(name=TestDevice.NAME,
                        state=TestDevice.STATE,
                        protocol='protocol')