summaryrefslogtreecommitdiff
path: root/python-pytest-play.spec
blob: d41cb3e95b15849107ac0332bad612bab6cf9a3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
%global _empty_manifest_terminate_build 0
Name:		python-pytest-play
Version:	2.3.1
Release:	1
Summary:	pytest plugin that let you automate actions and assertions with test metrics reporting executing plain YAML files
License:	Apache Software License 2.0
URL:		https://github.com/davidemoro/pytest-play
Source0:	https://mirrors.aliyun.com/pypi/web/packages/8c/ec/b9ab32993fbc2fb612cd828d58eba9b250dab591a380c7cef1d42f2e5fd0/pytest-play-2.3.1.tar.gz
BuildArch:	noarch


%description
``pytest-play`` is a codeless, generic, pluggable and extensible **automation tool**,
not necessarily **test automation** only, based on the fantastic pytest_ test framework
that let you define and execute YAML_ files containing scripts or test scenarios
through actions and assertions that can be implemented and managed even by **non technical users**:
* automation (not necessarily test automation). You can build a set of actions on a single file (e.g,
  call a JSON based API endpoint, perform an action if a condition matches) or a test automation
  project with many test scenarios.
  For example you can create always fresh test data on demand supporting
  manual testing activities, build a live simulator and so on
* codeless, or better almost codeless. If you have to write assertions against action results or some
  conditional expressions you need a very basic knowledge of Python or Javascript expressions
  with a smooth learning curve (something like ``variables['foo'] == 'bar'``)
* generic. It is not yet again another automation tool for browser automation only, API only, etc.
  You can drive a browser, perform some API calls, make database queries and/or make assertions
  using the same tool for different technologies
  So there are several free or not free testing frameworks or automation tools and many times
  they address just one single area testing needs and they are not extensible: API testing only,
  UI testing only and so on. It could be fine if you are testing a web
  only application like a CMS but if you are dealing with a reactive IoT application you might something more,
  make cross actions or cross checks against different systems or build something of more complex upon
  ``pytest-play``
* powerful. It is not yet again another test automation tool, it only extends the pytest_ framework
  with another paradigm and inherits a lot of good stuff (test data decoupled by test implementation
  that let you write once and executed many times the same scenario thanks to native parametrization
  support, reporting, integration with test management tools, many useful command line options, browsers and
  remote Selenium grids integration, etc)
* pluggable and extensible. Let's say you need to interact with a system not yet supported by a ``pytest-play``
  plugin, you can write by your own or pay someone for you. In addition there is a scaffolding tool that
  let you implement your own command: https://github.com/davidemoro/cookiecutter-play-plugin
* easy to use. Why YAML? Easy to read, easy to write, simple and standard syntax, easy to be validated and
  no parentheses hell. Despite there are no recording tools (not yet) for browser interaction or API calls, the
  documentation based on very common patterns let you copy, paste and edit command by command with no pain
* free software. It's an open source project based on the large and friendly pytest_ community
* easy to install. The only prerequisite is Docker thanks to the ``davidemoro/pytest-play`` Docker Hub container.
  Or better, with docker, no installation is required: you just need to type the following command
  ``docker run -i --rm -v $(pwd):/src davidemoro/pytest-play`` inside your project folder
  See https://hub.docker.com/r/davidemoro/pytest-play
See at the bottom of the page the third party plugins that extends ``pytest-play``:
* `Third party pytest-play plugins`_

%package -n python3-pytest-play
Summary:	pytest plugin that let you automate actions and assertions with test metrics reporting executing plain YAML files
Provides:	python-pytest-play
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-pytest-play
``pytest-play`` is a codeless, generic, pluggable and extensible **automation tool**,
not necessarily **test automation** only, based on the fantastic pytest_ test framework
that let you define and execute YAML_ files containing scripts or test scenarios
through actions and assertions that can be implemented and managed even by **non technical users**:
* automation (not necessarily test automation). You can build a set of actions on a single file (e.g,
  call a JSON based API endpoint, perform an action if a condition matches) or a test automation
  project with many test scenarios.
  For example you can create always fresh test data on demand supporting
  manual testing activities, build a live simulator and so on
* codeless, or better almost codeless. If you have to write assertions against action results or some
  conditional expressions you need a very basic knowledge of Python or Javascript expressions
  with a smooth learning curve (something like ``variables['foo'] == 'bar'``)
* generic. It is not yet again another automation tool for browser automation only, API only, etc.
  You can drive a browser, perform some API calls, make database queries and/or make assertions
  using the same tool for different technologies
  So there are several free or not free testing frameworks or automation tools and many times
  they address just one single area testing needs and they are not extensible: API testing only,
  UI testing only and so on. It could be fine if you are testing a web
  only application like a CMS but if you are dealing with a reactive IoT application you might something more,
  make cross actions or cross checks against different systems or build something of more complex upon
  ``pytest-play``
* powerful. It is not yet again another test automation tool, it only extends the pytest_ framework
  with another paradigm and inherits a lot of good stuff (test data decoupled by test implementation
  that let you write once and executed many times the same scenario thanks to native parametrization
  support, reporting, integration with test management tools, many useful command line options, browsers and
  remote Selenium grids integration, etc)
* pluggable and extensible. Let's say you need to interact with a system not yet supported by a ``pytest-play``
  plugin, you can write by your own or pay someone for you. In addition there is a scaffolding tool that
  let you implement your own command: https://github.com/davidemoro/cookiecutter-play-plugin
* easy to use. Why YAML? Easy to read, easy to write, simple and standard syntax, easy to be validated and
  no parentheses hell. Despite there are no recording tools (not yet) for browser interaction or API calls, the
  documentation based on very common patterns let you copy, paste and edit command by command with no pain
* free software. It's an open source project based on the large and friendly pytest_ community
* easy to install. The only prerequisite is Docker thanks to the ``davidemoro/pytest-play`` Docker Hub container.
  Or better, with docker, no installation is required: you just need to type the following command
  ``docker run -i --rm -v $(pwd):/src davidemoro/pytest-play`` inside your project folder
  See https://hub.docker.com/r/davidemoro/pytest-play
See at the bottom of the page the third party plugins that extends ``pytest-play``:
* `Third party pytest-play plugins`_

%package help
Summary:	Development documents and examples for pytest-play
Provides:	python3-pytest-play-doc
%description help
``pytest-play`` is a codeless, generic, pluggable and extensible **automation tool**,
not necessarily **test automation** only, based on the fantastic pytest_ test framework
that let you define and execute YAML_ files containing scripts or test scenarios
through actions and assertions that can be implemented and managed even by **non technical users**:
* automation (not necessarily test automation). You can build a set of actions on a single file (e.g,
  call a JSON based API endpoint, perform an action if a condition matches) or a test automation
  project with many test scenarios.
  For example you can create always fresh test data on demand supporting
  manual testing activities, build a live simulator and so on
* codeless, or better almost codeless. If you have to write assertions against action results or some
  conditional expressions you need a very basic knowledge of Python or Javascript expressions
  with a smooth learning curve (something like ``variables['foo'] == 'bar'``)
* generic. It is not yet again another automation tool for browser automation only, API only, etc.
  You can drive a browser, perform some API calls, make database queries and/or make assertions
  using the same tool for different technologies
  So there are several free or not free testing frameworks or automation tools and many times
  they address just one single area testing needs and they are not extensible: API testing only,
  UI testing only and so on. It could be fine if you are testing a web
  only application like a CMS but if you are dealing with a reactive IoT application you might something more,
  make cross actions or cross checks against different systems or build something of more complex upon
  ``pytest-play``
* powerful. It is not yet again another test automation tool, it only extends the pytest_ framework
  with another paradigm and inherits a lot of good stuff (test data decoupled by test implementation
  that let you write once and executed many times the same scenario thanks to native parametrization
  support, reporting, integration with test management tools, many useful command line options, browsers and
  remote Selenium grids integration, etc)
* pluggable and extensible. Let's say you need to interact with a system not yet supported by a ``pytest-play``
  plugin, you can write by your own or pay someone for you. In addition there is a scaffolding tool that
  let you implement your own command: https://github.com/davidemoro/cookiecutter-play-plugin
* easy to use. Why YAML? Easy to read, easy to write, simple and standard syntax, easy to be validated and
  no parentheses hell. Despite there are no recording tools (not yet) for browser interaction or API calls, the
  documentation based on very common patterns let you copy, paste and edit command by command with no pain
* free software. It's an open source project based on the large and friendly pytest_ community
* easy to install. The only prerequisite is Docker thanks to the ``davidemoro/pytest-play`` Docker Hub container.
  Or better, with docker, no installation is required: you just need to type the following command
  ``docker run -i --rm -v $(pwd):/src davidemoro/pytest-play`` inside your project folder
  See https://hub.docker.com/r/davidemoro/pytest-play
See at the bottom of the page the third party plugins that extends ``pytest-play``:
* `Third party pytest-play plugins`_

%prep
%autosetup -n pytest-play-2.3.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-pytest-play -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 2.3.1-1
- Package Spec generated