Code Duplication    Length = 48-49 lines in 2 locations

tests/unit/server_tests/test_endpoint_handler.py 1 location

@@ 116-164 (lines=49) @@
113
        self.assertEqual(404, response.code)
114
115
116
class TestEndpointHandlerWithoutAuth(AsyncHTTPTestCase):
117
    @classmethod
118
    def setUpClass(cls):
119
        _init_asyncio_patch()
120
        prefix = "__TestEndpointHandlerWithoutAuth_"
121
122
        # create state.ini dir and file
123
        cls.state_dir = tempfile.mkdtemp(prefix=prefix)
124
        cls.state_file = open(os.path.join(cls.state_dir, "state.ini"), "w+")
125
        cls.state_file.write(
126
            "[Service Info]\n"
127
            "Name = TabPy Serve\n"
128
            "Description = \n"
129
            "Creation Time = 0\n"
130
            "Access-Control-Allow-Origin = \n"
131
            "Access-Control-Allow-Headers = \n"
132
            "Access-Control-Allow-Methods = \n"
133
            "\n"
134
            "[Query Objects Service Versions]\n"
135
            "\n"
136
            "[Query Objects Docstrings]\n"
137
            "\n"
138
            "[Meta]\n"
139
            "Revision Number = 1\n"
140
        )
141
        cls.state_file.close()
142
143
    @classmethod
144
    def tearDownClass(cls):
145
        os.remove(cls.state_file.name)
146
        os.rmdir(cls.state_dir)
147
148
    def get_app(self):
149
        self.app = TabPyApp(None)
150
        return self.app._create_tornado_web_app()
151
152
    def test_creds_no_auth_fails(self):
153
        response = self.fetch(
154
            "/endpoints/",
155
            method="GET",
156
            headers={
157
                "Authorization": "Basic {}".format(
158
                    base64.b64encode("username:password".encode("utf-8")).decode(
159
                        "utf-8"
160
                    )
161
                )
162
            },
163
        )
164
        self.assertEqual(406, response.code)
165

tests/unit/server_tests/test_endpoints_handler.py 1 location

@@ 99-146 (lines=48) @@
96
        self.assertEqual(200, response.code)
97
98
99
class TestEndpointsHandlerWithoutAuth(AsyncHTTPTestCase):
100
    @classmethod
101
    def setUpClass(cls):
102
        prefix = "__TestEndpointsHandlerWithoutAuth_"
103
104
        # create state.ini dir and file
105
        cls.state_dir = tempfile.mkdtemp(prefix=prefix)
106
        cls.state_file = open(os.path.join(cls.state_dir, "state.ini"), "w+")
107
        cls.state_file.write(
108
            "[Service Info]\n"
109
            "Name = TabPy Serve\n"
110
            "Description = \n"
111
            "Creation Time = 0\n"
112
            "Access-Control-Allow-Origin = \n"
113
            "Access-Control-Allow-Headers = \n"
114
            "Access-Control-Allow-Methods = \n"
115
            "\n"
116
            "[Query Objects Service Versions]\n"
117
            "\n"
118
            "[Query Objects Docstrings]\n"
119
            "\n"
120
            "[Meta]\n"
121
            "Revision Number = 1\n"
122
        )
123
        cls.state_file.close()
124
125
    @classmethod
126
    def tearDownClass(cls):
127
        os.remove(cls.state_file.name)
128
        os.rmdir(cls.state_dir)
129
130
    def get_app(self):
131
        self.app = TabPyApp(None)
132
        return self.app._create_tornado_web_app()
133
134
    def test_creds_no_auth_fails(self):
135
        response = self.fetch(
136
            "/endpoints",
137
            method="GET",
138
            headers={
139
                "Authorization": "Basic {}".format(
140
                    base64.b64encode("username:password".encode("utf-8")).decode(
141
                        "utf-8"
142
                    )
143
                )
144
            },
145
        )
146
        self.assertEqual(406, response.code)
147