Skip to end of metadata
Go to start of metadata

FAT-1065 - Getting issue details... STATUS


Participants:
Project Manager
Java Lead

Key Summary Status Assignee Sprint Story Points
Loading...
Refresh

Goal and requirements

It is necessary to divide the KARATE modules by the name of the teams so that the notification comes in a separate slack channel (team's channel).

For this, it is proposed to change the package names in accordance with  Team vs module responsibility matrix or mention several teams in package name in case several teams (except for the module owner team) are developing features in the corresponding module.

Requirements

  • Rename package from domain to team name (for example: spitfire, falcon, folijet and etc) or hyphenated names of several teams involved (for example, spitfire-falcon-folijet) and after dot you should add  domain, for example: mod-inventory, mod-source-record-storage and etc)
    • Example: prokopovych.mod-inventory
  • Rename path to features in the main class where we run all features.  For example: ModTagsApiTest has field TEST_BASE_PATH and need to change domain to spitfire.

Rename package

First of all,  change package name from domain to your team (teams). As example, we consider mod-tags:



NOTE: if your features are located in src folder, you also can change name as previous one:


Rename path to features

In the main class need to change path to all features from domain to your team (teams), for example:


Build and run test

Run the next command:

  • mvn clean install 
  • mvn test -Dtest=ModTagsApiTest -pl mod-tags -DargLine="-Dkarate.env=testing"

P.S. You also can run test via idea:


Verify karate-report

In the generated folder target you can find karate-summary-json.txt. In this file you should check field packageQualifiedName, this property should have your team name, for example: 

karate-summary-json.txt
"packageQualifiedName":"spitfire.tags.features.tags"

  • No labels

4 Comments

  1. Great work!

    In development channel @Zak Burke mentioned another approach to storing teams: inside a file (potentially CONTRIBUTING.md). I personally like the idea of having a file with team names.

    Probably if there is need to define team(s) on package level, some dedicated file could be introduced with predefined name ("teams.txt", "notify.txt" etc) and stored inside each package. In this file you just mention one or several teams that should be notified in case of package related test failures.

    In case of complex package hierarchy, you can define team(s) on top package level to avoid placing it inside each sub-package(s).

    1. Thanks, Dmytro Tkachenko

      In development channel Anton Emelianov answered about separate file. From developer side - we can easy move team name to CONTRIBUTING.md, teams.txt or notify.txt, but for DevOps side - we should add information inside karate-summary-json.txt.

      Also we can create custom reporting for generating cucumber reports and add custom property into karate-summary-json.txt, for example:

      karate-summary-json.txt
      .....
      
      "teamsName": "spitfire,falcon,folijet"
      
      .....


      In this case, we shouldn't rename folder, but need to create custom reporting. And I am not sure can we add custom property to karate-summary-json.txt.


  2. Hi Oleksandr Dekin ,

    Could you please tell how we should use team names which consists of two or more words? (e.g Core Platform)

    Thanks in advance

    1. Hello Sherzod Nurjonov

      You should rename package with underscore like - core_platform 


      For example: