sridattas
sridattas

Reputation: 509

How to define rules to identify issues/duplicate functions for sahi script in sonar qube? Does it support only javascript or java syntax for analysis?

I could successfully integrate Sahi automation tool to SonarQube and could get the results but the issue is to define set of rules to report issues related to sahi script and find duplicate functions.

Here is the code snippet of Sahi

File name: sample1.sah

function eno_selectFromCombo($Field_Name, $Value) //Function name
{
    if($Value!="")
    {   
        _setStrictVisibilityCheck(true);
        if(_exists(_select($Field_Name)))
        {
            _assertEqual(false, _select($Field_Name).disabled)
            _setSelected(_select($Field_Name),$Value);
        }
        else
        {
            onScriptError($Field_Name + " doesn't exist ")
        }
        _setStrictVisibilityCheck(false);
    }
    else
    {   
        _log($Field_Name + " is set with default value")
    }
}

File name: sample2.sah

function eno_selectCombo($Field_Name, $Value) //Different function name but same set of code
    {
        if($Value!="")
        {   
            _setStrictVisibilityCheck(true);
            if(_exists(_select($Field_Name)))
            {
                _assertEqual(false, _select($Field_Name).disabled)
                _setSelected(_select($Field_Name),$Value);
            }
            else
            {
                onScriptError($Field_Name + " doesn't exist ")
            }
            _setStrictVisibilityCheck(false);
        }
        else
        {   
            _log($Field_Name + " is set with default value")
        }
    }

Same set of code copied over but with different name

For the above example,

Upvotes: 0

Views: 370

Answers (1)

Pierre-Yves
Pierre-Yves

Reputation: 1546

Even if these files have references to external APIs, they seem to use a standard JavaScript syntax. You should be able to analyse such files with the SonarQube JavaScript plugin. If your files names end with "sah", you should have the following line in your sonar-project.properties:

sonar.javascript.file.suffixes=.js,.sah

Upvotes: 0

Related Questions