QADB is the database used to strore results of automated tests in SUSE QA.

It only has web intrface, which is mostly just a better DB view. The goal of this project is to create the REST API to it, which can later be used to query for results from external tools (and maybe even later used by the frontend)

Goal 2 of this project for me is to learn node.js.

Looking for hackers with the skills:

qa rest api

This project is part of:

Hack Week 10

Activity

  • about 12 years ago: pkacer liked this project.
  • about 12 years ago: llipavsky liked this project.
  • about 12 years ago: llipavsky added keyword "qa" to this project.
  • about 12 years ago: llipavsky added keyword "rest" to this project.
  • about 12 years ago: llipavsky added keyword "api" to this project.
  • about 12 years ago: llipavsky started this project.
  • about 12 years ago: llipavsky originated this project.

  • Comments

    • llipavsky
      about 12 years ago by llipavsky | Reply

      day 1: learn node and express basics

      day 2: created part of r/o api

      day 3: decided it is wrong way, delete work of day 2 and start to learn sequelize ORM ;-)

    • llipavsky
      about 12 years ago by llipavsky | Reply

      day 3.2 after 2.5 hours reading documentation, I found that sequelize ORM will not help, since it requires to have PKs named 'id' for relations... So next two candidates are node-orm2 and jugglingdb

    • llipavsky
      about 12 years ago by llipavsky | Reply

      day 3.3 after playing with other ORMs, I decided to give sequelize a second chance...

    • llipavsky
      about 12 years ago by llipavsky | Reply

      day 4: sequelize is actually cool, only surprise was that some features in the documentation works only in git master and not in released npm package. Luckily it took just about 20 minutes to realize... I am getting better ;)

    • llipavsky
      about 12 years ago by llipavsky | Reply

      day 5: So, some part is done, but not yet usable. Next steps would be define how exactly it should look like. Also possibly to add some write support (currently only reading possible...)

    Similar Projects

    HTTP API for nftables by crameleon

    Background

    The idea originated in https://progress.opensuse.org/issues/164060 and is about building RESTful API which translates authorized HTTP requests to operations in nftables, possibly utilizing libnftables-json(5).

    Originally, I started developing such an interface in Go, utilizing https://github.com/google/nftables. The conversion of string networks to nftables set elements was problematic (unfortunately no record of details), and I started a second attempt in Python, which made interaction much simpler thanks to native nftables Python bindings.

    Goals

    1. Find and track the issue with google/nftables
    2. Revisit and polish the Go or Python code (prefer Go, but possibly depends on implementing missing functionality), primarily the server component
    3. Finish functionality to interact with nftables sets (retrieving and updating elements), which are of interest for the originating issue
    4. Align test suite
    5. Packaging

    Resources

    • https://git.netfilter.org/nftables/tree/py/src/nftables.py
    • https://git.com.de/Georg/nftables-http-api (to be moved to GitHub)
    • https://build.opensuse.org/package/show/home:crameleon:containers/pytest-nftables-container

    Results

    • Go nftables issue was related to set elements needing to be added with different start and end addresses - coincidentally, this was recently discovered by someone else, who added a useful helper function for this: https://github.com/google/nftables/pull/342.

    Side results

    Upon starting to unify the structure and implementing more functionality, missing JSON output support was noticed for some subcommands in libnftables. I am submitting patches as needed:

    • https://lore.kernel.org/netfilter-devel/20251203131736.4036382-2-georg@syscid.com/T/#u


    HTTP API for nftables by crameleon

    Background

    The idea originated in https://progress.opensuse.org/issues/164060 and is about building RESTful API which translates authorized HTTP requests to operations in nftables, possibly utilizing libnftables-json(5).

    Originally, I started developing such an interface in Go, utilizing https://github.com/google/nftables. The conversion of string networks to nftables set elements was problematic (unfortunately no record of details), and I started a second attempt in Python, which made interaction much simpler thanks to native nftables Python bindings.

    Goals

    1. Find and track the issue with google/nftables
    2. Revisit and polish the Go or Python code (prefer Go, but possibly depends on implementing missing functionality), primarily the server component
    3. Finish functionality to interact with nftables sets (retrieving and updating elements), which are of interest for the originating issue
    4. Align test suite
    5. Packaging

    Resources

    • https://git.netfilter.org/nftables/tree/py/src/nftables.py
    • https://git.com.de/Georg/nftables-http-api (to be moved to GitHub)
    • https://build.opensuse.org/package/show/home:crameleon:containers/pytest-nftables-container

    Results

    • Go nftables issue was related to set elements needing to be added with different start and end addresses - coincidentally, this was recently discovered by someone else, who added a useful helper function for this: https://github.com/google/nftables/pull/342.

    Side results

    Upon starting to unify the structure and implementing more functionality, missing JSON output support was noticed for some subcommands in libnftables. I am submitting patches as needed:

    • https://lore.kernel.org/netfilter-devel/20251203131736.4036382-2-georg@syscid.com/T/#u