An auto IBCS API response status checking tool which test tax, address and account module

Overview

IB IBCS API Test Tool

An auto IBCS API response status checking tool which test tax, address and account module.

Getting Started

Cd to the cloned directory

cd autotest

Run mvn to install it as a local package

mvn clean install

To use API test code

The code style is designed to be like DSL flavour All the test cases are only checking the expected HTTP status code currently RM & PASSWORD should be in Base64 encoded string(default RM and Password) HOST_NAME can be auto figured out to be localhost name by code

        val user = LogInfo(RM, PASSWORD)

        HOST_NAME doTest {
            try {
                login (user)
                runBlocking {
                    tax {
                        getTaxRates()
                        getTaxCountries()
                        getTax()
                        updateTaxDetails()
                        updateDomesticTax()
                        updateForeignTaxResidency()
                    }
                    address {
                        getAddress()
                        updateAddress()
                    }
                    accounts {
                        getAccounts()?.getFirstAccountDetails()
                    }
                }
            } finally {
                logout()
            }
        }

To enable verbose information

All the test function accept a boolean flag to enable the http debug trace and print out response body(Default is false) For example

getTaxRates(true)

Test failure log

As the code is using coroutine to test each API module independently, in order to not interrupt each other's running status, the error handler registered in the coroutine context and only failure log will be printed out if the expected http status code can't be met, EVEN THOUGH JUNIT RUNNING RESULT IS OK Example printout as below, only related call trace can be shown here

10:26:57,543 ERROR BaseRunner:111 - Caught Error: 1 expectation failed.
Expected status code <200> but was <204>.
 tax.TaxApi at line 29 <-- tax.TaxApi at line 13 <-- tax.TaxApiTest$taxApiCheck$1$1$1 at line 27 <-- tax.TaxApiTest$taxApiCheck$1$1$1 at line 11 <-- tax.TaxApiTest$taxApiCheck$1 at line 21 <-- tax.TaxApiTest$taxApiCheck$1 at line 11 <-- tax.TaxApiTest at line 18
You might also like...
♣️ A flexible and powerful command framework with default Guilded API implementations using deck

A simple and versatile command framework made with the primary objective of making Guilded command experience a little more elegant.

Open-source Desktop library to connect Alsat pardakht peyment API
Open-source Desktop library to connect Alsat pardakht peyment API

Open-source Desktop library to connect Alsat pardakht peyment API

Vanced Manager built with official vanced source & my API

Vanced Manager (mirrored) This is a version of Vanced Manager using mirrors that I did myself, since the official APIs were disabled along with the di

****. Use the native and support library variants instead - https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html. An android library that makes it easy to add custom fonts to edittexts and textviews

Add to your project Add this line to your dependencies in build.gradle compile 'in.workarounds.typography:typography:0.0.8' Using the views There are

SL4A brings scripting languages to Android by allowing you to edit and execute scripts and interactive interpreters directly on the Android device.

#Scripting Layer for Android (SL4A) SL4A brings scripting languages to Android by allowing you to edit and execute scripts and interactive interpreter

An application for runners and cyclists. Allows you to monitor your physical activity, weight and receive reminders about workouts.

An application for runners and cyclists. Allows you to monitor your physical activity, weight and receive reminders about workouts.

A curated list of standards, tests and benchmarks that can be used for testing and evaluating dev-tools

A curated list of standards, tests and benchmarks that can be used for testing and evaluating dev tools Contribution Add the description of the benchm

A gradle plugin for getting java lambda support in java 6, 7 and android

Gradle Retrolambda Plugin This plugin will automatically build your java or android project with retrolambda, giving you lambda goodness on java 6 or

A Job Queue specifically written for Android to easily schedule jobs (tasks) that run in the background, improving UX and application stability.

Development in this repository is stopped. Future development continues on https://github.com/yigit/android-priority-jobqueue ========================

Owner
Gabriel Liu
Gabriel Liu
Tired of manually setup test data of Kotlin data classes or POJOs? Instantiator creates Instances of any class for you so that you can focus on writing tests instead of spending time and effort to setup test data

Instantiator Tired of manually setup test data of Kotlin data classes or POJOs? Instantiator creates Instances of any class for you so that you can fo

Hannes Dorfmann 54 Dec 30, 2022
andle is an Android tool help you sync dependencies, sdk or build tool version.

andle andle is an Android tool to help you sync dependencies, SDK or build tool version. Installation Simple install by pip: $ sudo pip install andle

Jintin 58 Sep 17, 2022
MagicSnap A Snapchat Xposed Module in Kotlin to learn

MagicSnap A Snapchat Xposed Module in Kotlin to learn

J 18 Nov 8, 2022
transai is a localization tool on Android and iOS.

transai transai is a command line tool to help you do Android and iOS translation management. You can extract string files to csv format, or generate

Jintin 56 Nov 12, 2022
Tool for Android app development

RateMeMaybe Asks the user if (s)he wants to open the Play Store to rate your application when certain requirements are met (see below). This can and s

Nicolai Spohrer 98 Dec 30, 2022
The BitbucketWatcher is a helpful tool to keep up to date with updates on your repo.

The BitbucketWatcher is a helpful tool to keep up to date with updates on your repo. The Watcher tracks new PullRequests, status changes on code reviews, merged branches and forgotten branches.

null 4 Jan 10, 2022
Using Resilience4J, this is a Demo project which uses a Library as background and manages all its requests.

Using Resilience4J, this is a Demo project which uses a Library as background and manages all its requests. This library can rent books online and the usage rate is extremely high. There is a reactive way to access, which is the one normally used, but sometimes, the system needs a bit of help from an old machine running a non-reactive MVC Spring application using JPA. Let's make this in Kotlin and find the best solution!

João Filipe Sabino Esperancinha 2 Jan 10, 2022
Android validation library which helps developer boil down the tedious work to three easy steps.

AwesomeValidation Introduction Implement validation for Android within only 3 steps. Developers should focus on their awesome code, and let the librar

Jing Li 1.1k Dec 17, 2022
vShell (Virtual Shell) — a successor of Termux project which provides an alternate implementation of the Linux terminal emulator for Android OS

vShell (Virtual Shell) — a successor of Termux project which provides an alternate implementation of the Linux terminal emulator for Android OS

null 2 Feb 1, 2022
Recruitment Task App - record time which a user spends on tasks defined by himself

Recruitment-Task The purpose of this application is to record time which a user spends on tasks defined by himself. The user can add new tasks. New ta

Sylwester Zieliński 0 Feb 9, 2022