Exemple #1
0
    def _test_write(self, stream_expected, application_namespace,
                    application_data):
        stream_observed = BytearrayStream()
        application_specific_information = ApplicationSpecificInformation(
            application_namespace=application_namespace,
            application_data=application_data)
        application_specific_information.write(stream_observed)

        length_expected = len(stream_expected)
        length_observed = len(stream_observed)

        msg = "encoding lengths not equal"
        msg += "; expected {0}, observed {1}".format(
            length_expected, length_observed)
        self.assertEqual(length_expected, length_observed, msg)

        msg = "encoding mismatch"
        msg += ";\nexpected:\n{0}\nobserved:\n{1}".format(
            stream_expected, stream_observed)
        self.assertEqual(stream_expected, stream_observed, msg)
    def _test_write(self, stream_expected, application_namespace,
                    application_data):
        stream_observed = BytearrayStream()
        application_specific_information = ApplicationSpecificInformation(
            application_namespace=application_namespace,
            application_data=application_data)
        application_specific_information.write(stream_observed)

        length_expected = len(stream_expected)
        length_observed = len(stream_observed)

        msg = "encoding lengths not equal"
        msg += "; expected {0}, observed {1}".format(
            length_expected, length_observed)
        self.assertEqual(length_expected, length_observed, msg)

        msg = "encoding mismatch"
        msg += ";\nexpected:\n{0}\nobserved:\n{1}".format(
            stream_expected, stream_observed)
        self.assertEqual(stream_expected, stream_observed, msg)
Exemple #3
0
    def test_not_equal_on_type_mismatch(self):
        """
        Test that the equality operator returns True when comparing a
        ApplicationSpecificInformation object to a
        non-ApplicationSpecificInformation object.
        """
        a = ApplicationSpecificInformation(
            application_namespace=ApplicationNamespace('test_namespace'),
            application_data=ApplicationData('test_data'))
        b = "invalid"

        self.assertTrue(a != b)
        self.assertTrue(b != a)
Exemple #4
0
    def test_repr(self):
        """
        Test that an ApplicationSpecificInformation object can be represented
        using repr correctly.
        """
        application_specific_info = ApplicationSpecificInformation(
            application_namespace=ApplicationNamespace("ssl"),
            application_data=ApplicationData("www.example.com"))
        s = repr(application_specific_info)

        self.assertEqual(
            "ApplicationSpecificInformation("
            "application_namespace=ApplicationNamespace(value='ssl'), "
            "application_data=ApplicationData(value='www.example.com'))", s)
Exemple #5
0
    def _test_read(self, stream, application_namespace, application_data):
        application_specific_information = ApplicationSpecificInformation()
        application_specific_information.read(stream)

        if application_namespace is None:
            application_namespace = ApplicationNamespace()
        if application_data is None:
            application_data = ApplicationData()

        msg = "application namespace encoding mismatch"
        msg += "; expected {0}, observed {1}".format(
            application_namespace,
            application_specific_information.application_namespace)
        self.assertEqual(
            application_namespace,
            application_specific_information.application_namespace, msg)

        msg = "application data encoding mismatch"
        msg += "; expected {0}, observed {1}".format(
            application_data,
            application_specific_information.application_data)
        self.assertEqual(
            application_data,
            application_specific_information.application_data, msg)
Exemple #6
0
    def test_str(self):
        """
        Test that an ApplicationSpecificInformation object can be turned into
        a string correctly.
        """
        application_specific_info = ApplicationSpecificInformation(
            application_namespace=ApplicationNamespace("ssl"),
            application_data=ApplicationData("www.example.com"))
        s = str(application_specific_info)

        self.assertEqual(
            str({
                'application_namespace': 'ssl',
                'application_data': 'www.example.com'
            }), s)
    def _test_read(self, stream, application_namespace, application_data):
        application_specific_information = ApplicationSpecificInformation()
        application_specific_information.read(stream)

        if application_namespace is None:
            application_namespace = ApplicationNamespace()
        if application_data is None:
            application_data = ApplicationData()

        msg = "application namespace encoding mismatch"
        msg += "; expected {0}, observed {1}".format(
            application_namespace,
            application_specific_information.application_namespace)
        self.assertEqual(
            application_namespace,
            application_specific_information.application_namespace, msg)

        msg = "application data encoding mismatch"
        msg += "; expected {0}, observed {1}".format(
            application_data,
            application_specific_information.application_data)
        self.assertEqual(
            application_data,
            application_specific_information.application_data, msg)
Exemple #8
0
    def _test_create(self, application_namespace, application_data):
        application_specific_info = ApplicationSpecificInformation.create(
            application_namespace, application_data)

        self.assertIsInstance(
            application_specific_info, ApplicationSpecificInformation)

        expected = ApplicationNamespace(application_namespace)
        observed = application_specific_info.application_namespace

        msg = "expected {0}, observed {1}".format(expected, observed)
        self.assertEqual(expected, observed, msg)

        expected = ApplicationData(application_data)
        observed = application_specific_info.application_data

        msg = "expected {0}, observed {1}".format(expected, observed)
        self.assertEqual(expected, observed, msg)
    def _test_create(self, application_namespace, application_data):
        application_specific_info = ApplicationSpecificInformation.create(
            application_namespace, application_data)

        self.assertIsInstance(
            application_specific_info, ApplicationSpecificInformation)

        expected = ApplicationNamespace(application_namespace)
        observed = application_specific_info.application_namespace

        msg = "expected {0}, observed {1}".format(expected, observed)
        self.assertEqual(expected, observed, msg)

        expected = ApplicationData(application_data)
        observed = application_specific_info.application_data

        msg = "expected {0}, observed {1}".format(expected, observed)
        self.assertEqual(expected, observed, msg)
    def _test_init(self, application_namespace, application_data):
        application_specific_information = ApplicationSpecificInformation(
            application_namespace=application_namespace,
            application_data=application_data)

        if application_namespace is None:
            self.assertEqual(
                ApplicationNamespace(),
                application_specific_information.application_namespace)
        else:
            self.assertEqual(
                application_namespace,
                application_specific_information.application_namespace)

        if application_data is None:
            self.assertEqual(ApplicationData(),
                             application_specific_information.application_data)
        else:
            self.assertEqual(application_data,
                             application_specific_information.application_data)
Exemple #11
0
    def _create_application_specific_information(self, info):
        if info is None:
            return ApplicationSpecificInformation()
        else:
            application_namespace = info.get('application_namespace')
            application_data = info.get('application_data')

            if not isinstance(application_namespace, str):
                msg = utils.build_er_error(ApplicationSpecificInformation,
                                           'constructor argument type',
                                           str, type(application_namespace))
                raise TypeError(msg)

            if not isinstance(application_data, str):
                msg = utils.build_er_error(ApplicationSpecificInformation,
                                           'constructor argument type',
                                           str, type(application_data))
                raise TypeError(msg)

            return ApplicationSpecificInformation.create(application_namespace,
                                                         application_data)