diff --git a/addons/cetmix_tower_webhook/tests/test_cx_tower_webhook_authenticator.py b/addons/cetmix_tower_webhook/tests/test_cx_tower_webhook_authenticator.py new file mode 100644 index 0000000..e1d6e51 --- /dev/null +++ b/addons/cetmix_tower_webhook/tests/test_cx_tower_webhook_authenticator.py @@ -0,0 +1 @@ +IyBDb3B5cmlnaHQgKEMpIDIwMjUgQ2V0bWl4IE/DnAojIExpY2Vuc2UgQUdQTC0zLjAgb3IgbGF0ZXIgKGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsKS4KCmZyb20gb2Rvby5leGNlcHRpb25zIGltcG9ydCBWYWxpZGF0aW9uRXJyb3IKCmZyb20gLmNvbW1vbiBpbXBvcnQgQ2V0bWl4VG93ZXJXZWJob29rQ29tbW9uCgoKY2xhc3MgVGVzdENldG1peFRvd2VyV2ViaG9va0F1dGhlbnRpY2F0b3IoQ2V0bWl4VG93ZXJXZWJob29rQ29tbW9uKToKICAgIGRlZiB0ZXN0X3NpbXBsZV9hdXRoZW50aWNhdGlvbl9zdWNjZXNzKHNlbGYpOgogICAgICAgICIiIgogICAgICAgIFRlc3QgdGhhdCBhdXRoZW50aWNhdGlvbiBpcyBzdWNjZXNzZnVsCiAgICAgICAgIiIiCiAgICAgICAgIyBjaGVjayB0aGF0IGF1dGhlbnRpY2F0aW9uIGlzIHN1Y2Nlc3NmdWwgZm9yIGF1dGhlbnRpY2F0b3IKICAgICAgICAjIHRoYXQgYWxsb3dzIGFsbCByZXF1ZXN0cwogICAgICAgIHJlc3VsdCA9IHNlbGYuc2ltcGxlX2F1dGhlbnRpY2F0b3IuYXV0aGVudGljYXRlKAogICAgICAgICAgICBoZWFkZXJzPXt9LCBwYXlsb2FkPXt9LCByYXdfZGF0YT0iIgogICAgICAgICkKICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzdWx0WyJhbGxvd2VkIl0pCgogICAgZGVmIHRlc3Rfc2ltcGxlX2F1dGhlbnRpY2F0aW9uX3dpdGhvdXRfb3B0aW9uYWxfcGFyYW1zKHNlbGYpOgogICAgICAgICIiIgogICAgICAgIFRlc3QgdGhhdCBhdXRoZW50aWNhdGlvbiBpcyBzdWNjZXNzZnVsIHdpdGhvdXQgb3B0aW9uYWwgcGFyYW1zCiAgICAgICAgIiIiCiAgICAgICAgcmVzdWx0ID0gc2VsZi5zaW1wbGVfYXV0aGVudGljYXRvci5hdXRoZW50aWNhdGUoKQogICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXN1bHRbImFsbG93ZWQiXSkKCiAgICBkZWYgdGVzdF90b2tlbl9hdXRoZW50aWNhdGlvbl9zdWNjZXNzKHNlbGYpOgogICAgICAgICIiIgogICAgICAgIFRlc3QgdGhhdCBhdXRoZW50aWNhdGlvbiBpcyBzdWNjZXNzZnVsIGZvciBhdXRoZW50aWNhdG9yIHRoYXQgYWxsb3dzIHJlcXVlc3RzCiAgICAgICAgd2l0aCBzcGVjaWZpYyB0b2tlbiBpbiBoZWFkZXIKICAgICAgICAiIiIKICAgICAgICBhdXRoX3Rva2VuX2hlYWRlciA9ICJYLVRva2VuIgogICAgICAgIGF1dGhfdG9rZW4gPSAic2VjcmV0MTIzIgogICAgICAgIGNvZGUgPSBmInJlc3VsdCA9IHt7J2FsbG93ZWQnOiBoZWFkZXJzLmdldCgne2F1dGhfdG9rZW5faGVhZGVyfScpID09ICd7YXV0aF90b2tlbn0nfX0iICAjIG5vcWE6IEU1MDEKICAgICAgICBzZWxmLnNpbXBsZV9hdXRoZW50aWNhdG9yLmNvZGUgPSBjb2RlCiAgICAgICAgcmVzdWx0ID0gc2VsZi5zaW1wbGVfYXV0aGVudGljYXRvci5hdXRoZW50aWNhdGUoCiAgICAgICAgICAgIGhlYWRlcnM9e2F1dGhfdG9rZW5faGVhZGVyOiBhdXRoX3Rva2VufQogICAgICAgICkKICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzdWx0WyJhbGxvd2VkIl0pCgogICAgZGVmIHRlc3RfdG9rZW5fYXV0aGVudGljYXRpb25fZmFpbHVyZShzZWxmKToKICAgICAgICAiIiIKICAgICAgICBUZXN0IHRoYXQgYXV0aGVudGljYXRpb24gaXMgZmFpbGVkIGZvciBhdXRoZW50aWNhdG9yIHRoYXQgYWxsb3dzCiAgICAgICAgcmVxdWVzdHMgd2l0aCBzcGVjaWZpYyB0b2tlbiBpbiBoZWFkZXIKICAgICAgICAiIiIKICAgICAgICBhdXRoX3Rva2VuX2hlYWRlciA9ICJYLVRva2VuIgogICAgICAgIGF1dGhfdG9rZW4gPSAic2VjcmV0MTIzIgogICAgICAgIGNvZGUgPSBmInJlc3VsdCA9IHt7J2FsbG93ZWQnOiBoZWFkZXJzLmdldCgne2F1dGhfdG9rZW5faGVhZGVyfScpID09ICd7YXV0aF90b2tlbn0nfX0iICAjIG5vcWE6IEU1MDEKICAgICAgICBzZWxmLnNpbXBsZV9hdXRoZW50aWNhdG9yLmNvZGUgPSBjb2RlCiAgICAgICAgcmVzdWx0ID0gc2VsZi5zaW1wbGVfYXV0aGVudGljYXRvci5hdXRoZW50aWNhdGUoCiAgICAgICAgICAgIGhlYWRlcnM9e2F1dGhfdG9rZW5faGVhZGVyOiAid3JvbmdfdG9rZW4ifSwgcmFpc2Vfb25fZXJyb3I9RmFsc2UKICAgICAgICApCiAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHRbImFsbG93ZWQiXSkKCiAgICBkZWYgdGVzdF90b2tlbl9hdXRoZW50aWNhdGlvbl9mYWlsdXJlX3dpdGhvdXRfb3B0aW9uYWxfcGFyYW1zKHNlbGYpOgogICAgICAgICIiIgogICAgICAgIFRlc3QgdGhhdCBhdXRoZW50aWNhdGlvbiBpcyBmYWlsZWQgd2l0aG91dCBvcHRpb25hbCBwYXJhbXMKICAgICAgICAiIiIKICAgICAgICBhdXRoX3Rva2VuX2hlYWRlciA9ICJYLVRva2VuIgogICAgICAgIGF1dGhfdG9rZW4gPSAic2VjcmV0MTIzIgogICAgICAgIGNvZGUgPSBmInJlc3VsdCA9IHt7J2FsbG93ZWQnOiBoZWFkZXJzLmdldCgne2F1dGhfdG9rZW5faGVhZGVyfScpID09ICd7YXV0aF90b2tlbn0nfX0iICAjIG5vcWE6IEU1MDEKICAgICAgICBzZWxmLnNpbXBsZV9hdXRoZW50aWNhdG9yLmNvZGUgPSBjb2RlCiAgICAgICAgcmVzdWx0ID0gc2VsZi5zaW1wbGVfYXV0aGVudGljYXRvci5hdXRoZW50aWNhdGUocmFpc2Vfb25fZXJyb3I9RmFsc2UpCiAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHRbImFsbG93ZWQiXSkKICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdFsiaHR0cF9jb2RlIl0sIDUwMCkKICAgICAgICBzZWxmLmFzc2VydEluKCJvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnZ2V0JyIsIHJlc3VsdFsibWVzc2FnZSJdKQoKICAgIGRlZiB0ZXN0X2F1dGhlbnRpY2F0aW9uX2NvZGVfZXJyb3Ioc2VsZik6CiAgICAgICAgIiIiCiAgICAgICAgVGVzdCB0aGF0IGF1dGhlbnRpY2F0aW9uIGlzIGZhaWxlZCB3aXRoIGludmFsaWQgY29kZQogICAgICAgICIiIgogICAgICAgIHNlbGYuc2ltcGxlX2F1dGhlbnRpY2F0b3IuY29kZSA9ICIxLzAiCiAgICAgICAgcmVzdWx0ID0gc2VsZi5zaW1wbGVfYXV0aGVudGljYXRvci5hdXRoZW50aWNhdGUocmFpc2Vfb25fZXJyb3I9RmFsc2UpCiAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHRbImFsbG93ZWQiXSkKICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdFsiaHR0cF9jb2RlIl0sIDUwMCkKICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdFsibWVzc2FnZSJdLCAiZGl2aXNpb24gYnkgemVybyIpCgogICAgICAgICMgdGVzdCB3aXRoIHJhaXNlX29uX2Vycm9yPVRydWUKICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbGlkYXRpb25FcnJvcikgYXMgZToKICAgICAgICAgICAgc2VsZi5zaW1wbGVfYXV0aGVudGljYXRvci5hdXRoZW50aWNhdGUoKQogICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgIHN0cihlLmV4Y2VwdGlvbiksICJBdXRoZW50aWNhdGlvbiBjb2RlIGVycm9yOiBkaXZpc2lvbiBieSB6ZXJvIgogICAgICAgICkKCiAgICBkZWYgdGVzdF9hdXRoZW50aWNhdG9yX2N1c3RvbV9odHRwX2NvZGVfYW5kX21lc3NhZ2Uoc2VsZik6CiAgICAgICAgIiIiCiAgICAgICAgVGVzdCB0aGF0IGN1c3RvbSBodHRwX2NvZGUgYW5kIG1lc3NhZ2UgcmV0dXJuZWQgZnJvbSBjb2RlIGFyZSByZXNwZWN0ZWQKICAgICAgICAiIiIKICAgICAgICBtZXNzYWdlID0gIkkgYW0gYSB0ZWFwb3QhIgogICAgICAgIHNlbGYuc2ltcGxlX2F1dGhlbnRpY2F0b3IuY29kZSA9ICgKICAgICAgICAgICAgZiJyZXN1bHQgPSB7eydhbGxvd2VkJzogRmFsc2UsICdodHRwX2NvZGUnOiA0MTgsICdtZXNzYWdlJzogJ3ttZXNzYWdlfSd9fSIKICAgICAgICApCiAgICAgICAgcmVzdWx0ID0gc2VsZi5zaW1wbGVfYXV0aGVudGljYXRvci5hdXRoZW50aWNhdGUoaGVhZGVycz17fSkKICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJlc3VsdFsiYWxsb3dlZCJdKQogICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LmdldCgiaHR0cF9jb2RlIiksIDQxOCkKICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC5nZXQoIm1lc3NhZ2UiKSwgbWVzc2FnZSkKCiAgICBkZWYgdGVzdF9hdXRoZW50aWNhdG9yX3JldHVybnNfbm9uX2RpY3Qoc2VsZik6CiAgICAgICAgIiIiCiAgICAgICAgVGVzdCB0aGF0IGF1dGhlbnRpY2F0aW9uIGZhaWxzIGlmIGNvZGUgcmV0dXJucyBub24tZGljdCByZXN1bHQKICAgICAgICAiIiIKICAgICAgICBzZWxmLnNpbXBsZV9hdXRoZW50aWNhdG9yLndyaXRlKHsiY29kZSI6ICJyZXN1bHQgPSAnbm90IGEgZGljdCcifSkKICAgICAgICByZXN1bHQgPSBzZWxmLnNpbXBsZV9hdXRoZW50aWNhdG9yLmF1dGhlbnRpY2F0ZSgKICAgICAgICAgICAgaGVhZGVycz17fSwgcmFpc2Vfb25fZXJyb3I9RmFsc2UKICAgICAgICApCiAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHRbImFsbG93ZWQiXSkKICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdFsiaHR0cF9jb2RlIl0sIDUwMCkKICAgICAgICBzZWxmLmFzc2VydEluKCJyZXN1bHQgaXMgbm90IGEgZGljdCIsIHJlc3VsdFsibWVzc2FnZSJdKQoKICAgIGRlZiB0ZXN0X2F1dGhlbnRpY2F0aW9uX3dpdGhfcmF3X2RhdGEoc2VsZik6CiAgICAgICAgIiIiCiAgICAgICAgVGVzdCB0aGF0IGF1dGhlbnRpY2F0aW9uIHdvcmtzIHdpdGggcmF3X2RhdGEgYW5kIHdpdGhvdXQgaGVhZGVycwogICAgICAgICIiIgogICAgICAgIHNlbGYuc2ltcGxlX2F1dGhlbnRpY2F0b3Iud3JpdGUoCiAgICAgICAgICAgIHsiY29kZSI6ICJyZXN1bHQgPSB7J2FsbG93ZWQnOiByYXdfZGF0YSA9PSAnbWFnaWMnfSJ9CiAgICAgICAgKQogICAgICAgIHJlc3VsdCA9IHNlbGYuc2ltcGxlX2F1dGhlbnRpY2F0b3IuYXV0aGVudGljYXRlKHJhd19kYXRhPSJtYWdpYyIpCiAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3VsdFsiYWxsb3dlZCJdKQogICAgICAgIHJlc3VsdCA9IHNlbGYuc2ltcGxlX2F1dGhlbnRpY2F0b3IuYXV0aGVudGljYXRlKHJhd19kYXRhPSJub3RfbWFnaWMiKQogICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocmVzdWx0WyJhbGxvd2VkIl0pCgogICAgZGVmIHRlc3RfYXV0aGVudGljYXRpb25fY29kZV9leGNlcHRpb24oc2VsZik6CiAgICAgICAgIiIiCiAgICAgICAgVGVzdCB0aGF0IGF1dGhlbnRpY2F0aW9uIGNvZGUgZXhjZXB0aW9uIGlzIGNhcHR1cmVkIGluIHJlc3VsdFsnbWVzc2FnZSddCiAgICAgICAgIiIiCiAgICAgICAgc2VsZi5zaW1wbGVfYXV0aGVudGljYXRvci53cml0ZSh7ImNvZGUiOiAicmFpc2UgRXhjZXB0aW9uKCdjdXN0b20gZmFpbHVyZScpIn0pCiAgICAgICAgcmVzdWx0ID0gc2VsZi5zaW1wbGVfYXV0aGVudGljYXRvci5hdXRoZW50aWNhdGUoCiAgICAgICAgICAgIGhlYWRlcnM9e30sIHJhaXNlX29uX2Vycm9yPUZhbHNlCiAgICAgICAgKQogICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocmVzdWx0WyJhbGxvd2VkIl0pCiAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRbImh0dHBfY29kZSJdLCA1MDApCiAgICAgICAgc2VsZi5hc3NlcnRJbigiY3VzdG9tIGZhaWx1cmUiLCByZXN1bHRbIm1lc3NhZ2UiXSkKCiAgICBkZWYgdGVzdF9hdXRoZW50aWNhdGlvbl9taW5pbWFsX2ZhbHNlKHNlbGYpOgogICAgICAgICIiIgogICAgICAgIFRlc3QgbWluaW1hbCBjb2RlIHdpdGggb25seSBhbGxvd2VkOiBGYWxzZQogICAgICAgICIiIgogICAgICAgIHNlbGYuc2ltcGxlX2F1dGhlbnRpY2F0b3Iud3JpdGUoeyJjb2RlIjogInJlc3VsdCA9IHsnYWxsb3dlZCc6IEZhbHNlfSJ9KQogICAgICAgIHJlc3VsdCA9IHNlbGYuc2ltcGxlX2F1dGhlbnRpY2F0b3IuYXV0aGVudGljYXRlKGhlYWRlcnM9e30pCiAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHRbImFsbG93ZWQiXSkKICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZXN1bHQuZ2V0KCJodHRwX2NvZGUiKSkKICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZXN1bHQuZ2V0KCJtZXNzYWdlIikpCg== \ No newline at end of file