From c0ba152e10c572809f48c9f682ea88b01ae275d0 Mon Sep 17 00:00:00 2001
From: Georgiy Eterevskiy <goshik_e@mail.ru>
Date: Tue, 5 Oct 2021 14:03:32 +0300
Subject: [PATCH] Update examples: add creds for secure channel

---
 MANIFEST.in                         | 13 +++++++-----
 examples/collections_auth_client.py | 11 +++++++++-
 examples/credentials/root.crt       | 31 +++++++++++++++++++++++++++++
 setup.py                            |  2 +-
 4 files changed, 50 insertions(+), 7 deletions(-)
 create mode 100644 examples/credentials/root.crt

diff --git a/MANIFEST.in b/MANIFEST.in
index f7b46d3..97ebe22 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,11 +1,14 @@
 # Include the README
 include *.md
 
-# Include the license file
-include LICENSE.txt
-
 # Include setup.py
 include setup.py
 
-# Include the data files
-recursive-include data *
\ No newline at end of file
+# Include the proto files
+recursive-include proto *.proto
+
+# Include the txt files
+include *.txt
+
+# Include the proto files
+recursive-include examples *.py
\ No newline at end of file
diff --git a/examples/collections_auth_client.py b/examples/collections_auth_client.py
index 0c9022b..1b60db1 100644
--- a/examples/collections_auth_client.py
+++ b/examples/collections_auth_client.py
@@ -1,4 +1,5 @@
 import logging
+import os
 
 import grpc
 from oauthlib.oauth2 import BackendApplicationClient
@@ -7,6 +8,12 @@ from perxis.auth import OAuth2Plugin
 from perxis.collections import collections_pb2, collections_pb2_grpc
 
 
+def _load_credential_from_file(filepath):
+    real_path = os.path.join(os.path.dirname(__file__), filepath)
+    with open(real_path, 'rb') as f:
+        return f.read()
+
+
 def main():
     client_id = 'YGPQSAUPgco4iTQxNejtXDjFVwPmYT3n'
     client_secret = '_d6F-VlQGmcsU25AXIoCU4EU3v56-28P6jwUHkutg_hSPseConphyLs3F-Buuq1h'
@@ -21,7 +28,9 @@ def main():
     )
 
     call_credentials = grpc.metadata_call_credentials(oauth2_plugin, name='auth')
-    channel_credentials = grpc.ssl_channel_credentials()
+    channel_credentials = grpc.ssl_channel_credentials(
+        root_certificates=_load_credential_from_file('credentials/root.crt')
+    )
     composite_credentials = grpc.composite_channel_credentials(
             channel_credentials, call_credentials
     )
diff --git a/examples/credentials/root.crt b/examples/credentials/root.crt
new file mode 100644
index 0000000..57d4a37
--- /dev/null
+++ b/examples/credentials/root.crt
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
+WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
+ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
+MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
+h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
+0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
+A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
+T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
+B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
+B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
+KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
+OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
+jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
+qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
+rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
+hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
+ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
+3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
+NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
+ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
+TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
+jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
+oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
+4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
+mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
+emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
+-----END CERTIFICATE-----
\ No newline at end of file
diff --git a/setup.py b/setup.py
index f0f61e5..6ad4852 100644
--- a/setup.py
+++ b/setup.py
@@ -14,7 +14,7 @@ def load_requirements():
 
 setup(
     name='perxis',
-    version='0.0.4',
+    version='0.0.5',
     description='Perxis python client',
     long_description=long_description,
     long_description_content_type='text/markdown',
-- 
GitLab