gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-deployment] branch master updated: allow PATCHing instances


From: gnunet
Subject: [taler-deployment] branch master updated: allow PATCHing instances
Date: Fri, 24 Jul 2020 11:10:06 +0200

This is an automated email from the git hooks/post-receive script.

ms pushed a commit to branch master
in repository deployment.

The following commit(s) were added to refs/heads/master by this push:
     new d6bcd5b  allow PATCHing instances
d6bcd5b is described below

commit d6bcd5b5c882be79e059c70d069760f0dd9d0356
Author: MS <ms@taler.net>
AuthorDate: Fri Jul 24 11:09:42 2020 +0200

    allow PATCHing instances
---
 bin/taler-config-instances | 264 +++++++++++++++++++++++----------------------
 1 file changed, 137 insertions(+), 127 deletions(-)

diff --git a/bin/taler-config-instances b/bin/taler-config-instances
index 67a1db0..3875c13 100755
--- a/bin/taler-config-instances
+++ b/bin/taler-config-instances
@@ -1,9 +1,10 @@
 #!/usr/bin/env python3
 
-from requests import post
+import requests
 from os import environ
 from sys import exit
 from urllib.parse import urljoin
+from dataclasses import dataclass
 
 MERCHANT_BACKEND_BASE_URL = environ.get("TALER_ENV_MERCHANT_BACKEND")
 if not MERCHANT_BACKEND_BASE_URL:
@@ -15,7 +16,7 @@ if not MERCHANT_BACKEND_BASE_URL:
     print("TALER_ENV_NAME not defined.  Please source the ~/activate file.")
     exit(1)
 
-INSTANCE_CONFIG_URL = urljoin(MERCHANT_BACKEND_BASE_URL, "/private/instances")
+TALER_PATCH_INSTANCES = environ.get("TALER_PATCH_INSTANCES")
 
 def expectResponse(response, expected_status_codes):
     if response.status_code not in expected_status_codes:
@@ -25,142 +26,151 @@ def expectResponse(response, expected_status_codes):
     # Allows for finer grained checks.
     return response
 
-print("configuring Blog")
-BLOG_INSTANCE_ID="blog"
-blog_config = dict(
-    
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/{BLOG_INSTANCE_ID}"],
-    id=BLOG_INSTANCE_ID,
-    name="Blog",
-    address=dict(),
-    jurisdiction=dict(),
-    default_max_wire_fee="EUR:1",
-    default_wire_fee_amortization=3,
-    default_max_deposit_fee="EUR:1",
-    default_wire_transfer_delay=dict(d_ms="forever"),
-    default_pay_delay=dict(d_ms="forever")
+class Instance:
+    def __init__(self, instance_id, config_data, backend_url, is_patch=False):
+        self.instance_id = instance_id
+        self.config_data = config_data
+        self.backend_url = backend_url
+        if not is_patch: # First time instance configuration.
+            self.config_data.update(id=instance_id)
+        self.is_patch = is_patch
+
+    def get_config_data(self):
+        return self.config_data
+    def get_config_url(self):
+        if not is_patch:
+            return urljoin(self.backend_url, "/private/instances")
+        return urljoin(self.backend_url, 
"/private/instances/{}".format(self.instance_id))
+    def get_http_method(self):
+        if not is_patch:
+            return requests.post
+        return requests.patch
+
+blog = Instance(
+    "blog",
+    dict(
+        
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/blog"],
+        name="Blog",
+        address=dict(),
+        jurisdiction=dict(),
+        default_max_wire_fee="EUR:1",
+        default_wire_fee_amortization=3,
+        default_max_deposit_fee="EUR:1",
+        default_wire_transfer_delay=dict(d_ms="forever"),
+        default_pay_delay=dict(d_ms="forever")
+    ),
+    MERCHANT_BACKEND_BASE_URL,
+    TALER_PATCH_INSTANCES
 )
 
-print("configuring Donations")
-DONATIONS_INSTANCE_ID="donations"
-donations_config = dict(
-    
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/{DONATIONS_INSTANCE_ID}"],
-    id=DONATIONS_INSTANCE_ID,
-    name="Donations",
-    address=dict(),
-    jurisdiction=dict(),
-    default_max_wire_fee="EUR:1",
-    default_wire_fee_amortization=3,
-    default_max_deposit_fee="EUR:1",
-    default_wire_transfer_delay=dict(d_ms="forever"),
-    default_pay_delay=dict(d_ms="forever")
+donations = Instance(
+    "donations",
+    dict(
+        
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/donations"],
+        name="Donations",
+        address=dict(),
+        jurisdiction=dict(),
+        default_max_wire_fee="EUR:1",
+        default_wire_fee_amortization=3,
+        default_max_deposit_fee="EUR:1",
+        default_wire_transfer_delay=dict(d_ms="forever"),
+        default_pay_delay=dict(d_ms="forever")
+    ),
+    MERCHANT_BACKEND_BASE_URL,
+    TALER_PATCH_INSTANCES
 )
 
-print("configuring Survey")
-SURVEY_INSTANCE_ID="survey"
-survey_config = dict(
-    
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/{SURVEY_INSTANCE_ID}"],
-    id=SURVEY_INSTANCE_ID,
-    name="Survey",
-    address=dict(),
-    jurisdiction=dict(),
-    default_max_wire_fee="EUR:1",
-    default_wire_fee_amortization=3,
-    default_max_deposit_fee="EUR:1",
-    default_wire_transfer_delay=dict(d_ms="forever"),
-    default_pay_delay=dict(d_ms="forever")
+survey = Instance(
+    "survey",
+    dict(
+        
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/survey"],
+        name="Survey",
+        address=dict(),
+        jurisdiction=dict(),
+        default_max_wire_fee="EUR:1",
+        default_wire_fee_amortization=3,
+        default_max_deposit_fee="EUR:1",
+        default_wire_transfer_delay=dict(d_ms="forever"),
+        default_pay_delay=dict(d_ms="forever")
+    ),
+    MERCHANT_BACKEND_BASE_URL,
+    TALER_PATCH_INSTANCES
 )
 
-print("configuring PoS")
-POS_INSTANCE_ID="pos"
-pos_config = dict(
-    
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/{POS_INSTANCE_ID}"],
-    id=POS_INSTANCE_ID,
-    name="PoS",
-    address=dict(),
-    jurisdiction=dict(),
-    default_max_wire_fee="EUR:1",
-    default_wire_fee_amortization=3,
-    default_max_deposit_fee="EUR:1",
-    default_wire_transfer_delay=dict(d_ms="forever"),
-    default_pay_delay=dict(d_ms="forever")
+pos = Instance(
+    "pos",
+    dict(
+        
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/pos"],
+        name="PoS",
+        address=dict(),
+        jurisdiction=dict(),
+        default_max_wire_fee="EUR:1",
+        default_wire_fee_amortization=3,
+        default_max_deposit_fee="EUR:1",
+        default_wire_transfer_delay=dict(d_ms="forever"),
+        default_pay_delay=dict(d_ms="forever")
+    ),
+    MERCHANT_BACKEND_BASE_URL,
+    TALER_PATCH_INSTANCES
 )
 
-print("configuring GNUnet")
-GNUNET_INSTANCE_ID="GNUnet"
-gnunet_config = dict(
-    
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/{GNUNET_INSTANCE_ID}"],
-    id=GNUNET_INSTANCE_ID,
-    name="GNUnet",
-    address=dict(),
-    jurisdiction=dict(),
-    default_max_wire_fee="EUR:1",
-    default_wire_fee_amortization=3,
-    default_max_deposit_fee="EUR:1",
-    default_wire_transfer_delay=dict(d_ms="forever"),
-    default_pay_delay=dict(d_ms="forever")
+gnunet = Instance(
+    "gnunet",
+    dict(
+        
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/GNUnet"],
+        name="GNUnet",
+        address=dict(),
+        jurisdiction=dict(),
+        default_max_wire_fee="EUR:1",
+        default_wire_fee_amortization=3,
+        default_max_deposit_fee="EUR:1",
+        default_wire_transfer_delay=dict(d_ms="forever"),
+        default_pay_delay=dict(d_ms="forever")
+    ),
+    MERCHANT_BACKEND_BASE_URL,
+    TALER_PATCH_INSTANCES
 )
 
-print("configuring Taler")
-TALER_INSTANCE_ID="Taler"
-taler_config = dict(
-    
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/{TALER_INSTANCE_ID}"],
-    id=TALER_INSTANCE_ID,
-    name="Taler",
-    address=dict(),
-    jurisdiction=dict(),
-    default_max_wire_fee="EUR:1",
-    default_wire_fee_amortization=3,
-    default_max_deposit_fee="EUR:1",
-    default_wire_transfer_delay=dict(d_ms="forever"),
-    default_pay_delay=dict(d_ms="forever")
+taler = Instance(
+    "Taler",
+    dict(
+        
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/Taler"],
+        name="Taler",
+        address=dict(),
+        jurisdiction=dict(),
+        default_max_wire_fee="EUR:1",
+        default_wire_fee_amortization=3,
+        default_max_deposit_fee="EUR:1",
+        default_wire_transfer_delay=dict(d_ms="forever"),
+        default_pay_delay=dict(d_ms="forever")
+    ),
+    MERCHANT_BACKEND_BASE_URL,
+    TALER_PATCH_INSTANCES
 )
 
-print("configuring Tor")
-TOR_INSTANCE_ID="Tor"
-tor_config = dict(
-    
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/{TOR_INSTANCE_ID}"],
-    id=TOR_INSTANCE_ID,
-    name="Tor",
-    address=dict(),
-    jurisdiction=dict(),
-    default_max_wire_fee="EUR:1",
-    default_wire_fee_amortization=3,
-    default_max_deposit_fee="EUR:1",
-    default_wire_transfer_delay=dict(d_ms="forever"),
-    default_pay_delay=dict(d_ms="forever")
+tor = Instance(
+    "Tor",
+    dict(
+        
payto_uris=[f"payto://x-taler-bank/bank.{TALER_ENV_NAME}.taler.net/Tor"],
+        name="Tor",
+        address=dict(),
+        jurisdiction=dict(),
+        default_max_wire_fee="EUR:1",
+        default_wire_fee_amortization=3,
+        default_max_deposit_fee="EUR:1",
+        default_wire_transfer_delay=dict(d_ms="forever"),
+        default_pay_delay=dict(d_ms="forever")
+    ),
+    MERCHANT_BACKEND_BASE_URL,
+    TALER_PATCH_INSTANCES
 )
 
-expectResponse(
-    post(INSTANCE_CONFIG_URL, json=blog_config, headers={"Authorization": 
"ApiKey sandbox"}),
-    [204, 409]
-)
-
-expectResponse(
-    post(INSTANCE_CONFIG_URL, json=donations_config, headers={"Authorization": 
"ApiKey sandbox"}),
-    [204, 409]
-)
-
-expectResponse(
-    post(INSTANCE_CONFIG_URL, json=survey_config, headers={"Authorization": 
"ApiKey sandbox"}),
-    [204, 409]
-)
-
-expectResponse(
-    post(INSTANCE_CONFIG_URL, json=pos_config, headers={"Authorization": 
"ApiKey sandbox"}),
-    [204, 409]
-)
-
-expectResponse(
-    post(INSTANCE_CONFIG_URL, json=taler_config, headers={"Authorization": 
"ApiKey sandbox"}),
-    [204, 409]
-)
-
-expectResponse(
-    post(INSTANCE_CONFIG_URL, json=gnunet_config, headers={"Authorization": 
"ApiKey sandbox"}),
-    [204, 409]
-)
-
-expectResponse(
-    post(INSTANCE_CONFIG_URL, json=tor_config, headers={"Authorization": 
"ApiKey sandbox"}),
-    [204, 409]
-)
+for instance in [blog, donations, pos, tor, taler, gnunet, survey]:
+    expectResponse(
+        instance.get_http_method(
+            instance.get_config_url(),
+            json=instance.get_config_data(),
+            headers={"Authorization": "apikey sandbox"}
+        ),
+        [204, 409]
+    )

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]