SlapOS Home SlapOS

    SlapOS Unit Tests

    • Last Update:2019-06-12
    • Version:002
    • Language:en

    SlapOS Project Tests

    On this section, we you can find all different types of tests we developed forSlapOS Project. We have 4 different groups of Test Suites: Unit Tests, Resilience Tests, Agent Tests for Development and Agent Tests for Production.

    General Unit Tests

     The Unit tests are usual Unit Tests which run on every commit on certain repositories to ensure that the latest code is working as expected. Among the unit tests we have 3 types Test Suites:

    • SLAPOS-MASTER-MASTER: tests SlapOS Master source code using stardard way of write tests on ERP5.
    • SLAPOS-EGG-TEST: Tests all eggs which are been developed under SlapOS Project, and it may include recipes (slapos.cookbook, slapos.recipe.build...) and also tools (slapos.toolbox). All tests here should run just using "python setup.py test".

    Software Release Unit Tests

    The Software Release Unit tests are usual Unit Tests which run on every commit on certain repositories to ensure that the latest code is working as expected. Each test, build the Software Release from scratch, create instances with various parameters and assert that instance is functional with the provided parameters.

    SLAPOS-WR-UNITTEST uses an old approach, please prefer SLAPOS-SR-TEST approach.

    Resilience Tests

    Resilience tests aims to test resilience on different softwares and configurations which uses it. Those tests are executed under ERP5 Test Node on a single computer partition, and it is designed to verify if the code works, ignoring the factors related to distributed services across internet. On this we have 4 different test suites:

    • SLAPOS-RESILIENCE-WR-MASTER: Tests a simple Software Release inside a webrunner resilient works (produce a clone and replace main instance with the clone).
    • SLAPOS-RESILIENCE-KVM-MASTER: Tests a simple Data inside a KVM Resilient works (produce a clone and replace main instance with the clone).
    • SLAPOS-RESILIENCE-WR-ERP5-MASTER: Tests if ERP5 Software Release (from master branch) inside a webrunner resilient works (produce a clone and replace main instance with the clone).
    • SLAPOS-RESILIENCE-WR-GITLAB-MASTER: Tests if Gitlab Software Release (from master branch) inside a webrunner resilient works (produce a clone and replace main instance with the clone).

    Deployment Test

    Deployment tests aims to test the deployment scripts based on the ansible playbooks designed to setup an server (or an environment) using a Virtual Machine. Each Test Suite tries to describe an specific deployment (ie.: ERP5 Standalone) on a specific Linux Distribution (ie.: Debian).

    Agent Test (Development)

    Test Agents for Development are designed for every commit on a watched branch, it request the deployment (currently only supply) of one software release on one specific computer. Later on, the agent verifies if the deployment succeed or not, and them remove the deployment. By doing so, we can ensure for a certain branch a set of software releases can be built successfully.

    All computers used for this deployement, upload to the sources and binaries into shacache used on SlapOS project. On this we have 3 different types of test suites:

    • SLAPOS-SR-TEST-MASTER: On every change on master branch, it compile several Software Releases, like ERP5, Wendelin, WebRunner, KVM .... on Debian 8. This configuration uploads only source cache.
    • SLAPOS-SR-TEST-1.0: On every change on 1.0 branch  (a.k.a Release Candidate Branch), it compile several Software Releases, like ERP5, Wendelin, WebRunner, KVM .... on Debian 8. This configuration uploads only source cache.
    • SLAPOS-SR-TEST-RELEASE-1.0.**-********: On every tag, we create one new Test Suite to upload some software releases to Binary Cache. Currently, we have VMs on Debian 7/8, Ubuntu 14.04/15.04 and CentOS 7.2/7.3. 

    Agent Test (Production)

    Test Agents for Production are designed to request, on VIFIB Master, instances from the latest software releases available with different software types and parameters. It happens once a day in order to guarantee that customers of one SlapO Master can request new services. On this we have 2 different types of test suites:

    • VIFIB-AGENT-PROD: It requests 4 instances the latest versions of: KVM, Webrunner, KVM Resilient and Webrunner Resilience. Unfortunally those tests are private.
    • ****-AGENT-PROD: For each project which is deployed a SlapOS Master an new test Suite is created. Unfortunally those results are private.

    Test Results

    Here bellow you can find the latest results for the slapos project.