Skip to main content

Extra for ArsenalQA package

Project description

Quick start

ArsenalQA is a framework that helps to abstract QA functional tests from developers realisation in ORM style.

Model your data - Models help you to change and test your data faster.

Make you transports abstract - it helps you to add them on the fly.

Make relations between models by transports or other models - it helps your colleagues to understand your code easily.

Why not django, graphql, etc?

Because all of this instruments are created for developers. Developers code works in the middle of project logic, between two endpoints: users and database(for example), and are adapted for using strong interaction protocols, whereas QA need more flexible and comfortable behavior.

Instalation:

$ pip install arsenalqa[http]

Lets make our first example with Post model:

from arsenalqa.fields import Field
from arsenalqa.models import Model
from arsenalqa.transports.managers import TransportManager
from arsenalqa.transports.http import Http


class Post(Model):

    http: Http = TransportManager(Http, url='https://jsonplaceholder.typicode.com/posts/{id}')

    id = Field()
    user_id = Field(name='userId')
    title = Field()
    body = Field()

Our entity was created.

Now you can:

print(Post.http.get())  # get list of posts models

my_model = Post()  # new instance of my model
my_model.id = 1
response_model = my_model.http.get()  # get single instance from web
print(response_model)  # model from web
print(response_model.id == my_model.id)

# Lets fill new instance of our model and post it to the web
new_model = Post()
new_model.title = 'My new title'
new_model.body = 'My new Post body'

new_created_model = new_model.http.post(expected_status=201)  # Send via http POST method
print(new_created_model)  # Response wrapped in new model. Has filled field id.
print(new_model == new_created_model)  # False because, response model contains only id field.

# Lets get list of posts from web, and filter it by user
print(Post.http.get().filter_by_attrs(user_id=1))

# Lets get list of posts from web, and filter single unique model by id
first_post = Post.http.get().unique_by_attrs(id=1)
print(first_post)

# Lets request again from response model, and get title attribute from response model
print(first_post.http.get().title)

Congrats! Now you can start learning this framework. More docs page!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

arsenalqa_db-2020.0.6-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file arsenalqa_db-2020.0.6-py3-none-any.whl.

File metadata

  • Download URL: arsenalqa_db-2020.0.6-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.5

File hashes

Hashes for arsenalqa_db-2020.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5c16b7b0ba8bbf8602ac5f42e74b8255cf4feebd6b4346de7ad8b52a5d807797
MD5 6e60501e44efa4453124c4b9ad8d48b6
BLAKE2b-256 4a7fb194b21e1139545670090d71275e9edd4b32b2c37749f6c16d069ed5372a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page