summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-btnamespace.spec141
-rw-r--r--sources1
3 files changed, 143 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..ec90800 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/btnamespace-2.1.1.tar.gz
diff --git a/python-btnamespace.spec b/python-btnamespace.spec
new file mode 100644
index 0000000..0d28e24
--- /dev/null
+++ b/python-btnamespace.spec
@@ -0,0 +1,141 @@
+%global _empty_manifest_terminate_build 0
+Name: python-btnamespace
+Version: 2.1.1
+Release: 1
+Summary: Isolate state on the Braintree sandbox during testing.
+License: MIT
+URL: https://github.com/venmo/btnamespace
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/75/ba/56c45e1676c352352ba5d6bb1508ef7ec5029d75740677c54662f81bf2bd/btnamespace-2.1.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-future
+Requires: python3-mock
+Requires: python3-bidict
+Requires: python3-braintree
+Requires: python3-bidict
+Requires: python3-braintree
+
+%description
+*[not actively supported outside of internal Venmo usage]*
+A Braintree namespace isolates state on the Braintree gateway:
+ import braintree
+ import btnamespace
+ with btnamespace.Namespace():
+ customer = braintree.Customer.create({"id": "123"})
+ assert customer.id == "123"
+ braintree.Customer.find("123") # success
+ braintree.Customer.find("123") # NotFound exception
+This is primarily useful during integration tests:
+ def setUp(self):
+ self.namespace = btnamespace.Namespace()
+ self.namespace.__enter__()
+ def test_some_sandbox_integration(self):
+ #...
+ def tearDown(self):
+ self.namespace.__exit__()
+Compared to calling eg ``braintree.Customer.delete`` during ``tearDown``, this has a number of advantages:
+- it's faster, since no teardown is needed
+- it's simpler, since it doesn't require any bookkeeping
+- it's robust, since tests can be written without any state assumptions
+You can install it with ``$ pip install btnamespace``.
+
+%package -n python3-btnamespace
+Summary: Isolate state on the Braintree sandbox during testing.
+Provides: python-btnamespace
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-btnamespace
+*[not actively supported outside of internal Venmo usage]*
+A Braintree namespace isolates state on the Braintree gateway:
+ import braintree
+ import btnamespace
+ with btnamespace.Namespace():
+ customer = braintree.Customer.create({"id": "123"})
+ assert customer.id == "123"
+ braintree.Customer.find("123") # success
+ braintree.Customer.find("123") # NotFound exception
+This is primarily useful during integration tests:
+ def setUp(self):
+ self.namespace = btnamespace.Namespace()
+ self.namespace.__enter__()
+ def test_some_sandbox_integration(self):
+ #...
+ def tearDown(self):
+ self.namespace.__exit__()
+Compared to calling eg ``braintree.Customer.delete`` during ``tearDown``, this has a number of advantages:
+- it's faster, since no teardown is needed
+- it's simpler, since it doesn't require any bookkeeping
+- it's robust, since tests can be written without any state assumptions
+You can install it with ``$ pip install btnamespace``.
+
+%package help
+Summary: Development documents and examples for btnamespace
+Provides: python3-btnamespace-doc
+%description help
+*[not actively supported outside of internal Venmo usage]*
+A Braintree namespace isolates state on the Braintree gateway:
+ import braintree
+ import btnamespace
+ with btnamespace.Namespace():
+ customer = braintree.Customer.create({"id": "123"})
+ assert customer.id == "123"
+ braintree.Customer.find("123") # success
+ braintree.Customer.find("123") # NotFound exception
+This is primarily useful during integration tests:
+ def setUp(self):
+ self.namespace = btnamespace.Namespace()
+ self.namespace.__enter__()
+ def test_some_sandbox_integration(self):
+ #...
+ def tearDown(self):
+ self.namespace.__exit__()
+Compared to calling eg ``braintree.Customer.delete`` during ``tearDown``, this has a number of advantages:
+- it's faster, since no teardown is needed
+- it's simpler, since it doesn't require any bookkeeping
+- it's robust, since tests can be written without any state assumptions
+You can install it with ``$ pip install btnamespace``.
+
+%prep
+%autosetup -n btnamespace-2.1.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-btnamespace -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..fc8ab1b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+f7a1a382d4c243feeb036a44a8599635 btnamespace-2.1.1.tar.gz