public class SensorContextTester extends Object implements SensorContext
Sensor. This is not an API and method signature may evolve.
Usage: call create(File) to create an "in memory" implementation of SensorContext with a filesystem initialized with provided baseDir.
You have to manually register inputFiles using:
sensorContextTester.fileSystem().add(new DefaultInputFile("myProjectKey", "src/Foo.java")
.setLanguage("java")
.initMetadata("public class Foo {\n}"));
Then pass it to your Sensor. You can then query elements provided by your sensor using methods allIssues(), ...
| Modifier and Type | Method and Description |
|---|---|
ActiveRules |
activeRules()
Get list of active rules.
|
void |
addContextProperty(String key,
String value)
Add a property to the scanner context.
|
Collection<AnalysisError> |
allAnalysisErrors() |
Collection<Issue> |
allIssues() |
Integer |
conditions(String fileKey,
int line) |
Integer |
coveredConditions(String fileKey,
int line) |
List<TokensLine> |
cpdTokens(String componentKey) |
static SensorContextTester |
create(File moduleBaseDir) |
static SensorContextTester |
create(Path moduleBaseDir) |
DefaultFileSystem |
fileSystem()
Get filesystem of the current module.
|
Map<String,String> |
getContextProperties() |
Version |
getSonarQubeVersion()
Default value is the version of this API at compilation time.
|
List<TypeOfText> |
highlightingTypeAt(String componentKey,
int line,
int lineOffset)
Return list of syntax highlighting applied for a given position in a file.
|
boolean |
isCancelled()
Test if a cancellation of the analysis was requested.
|
Integer |
lineHits(String fileKey,
int line) |
void |
markForPublishing(InputFile inputFile)
Indicate that a file should be published in the report sent to SonarQube.
|
static Integer |
maxOrNull(Integer o1,
Integer o2) |
<G extends Serializable> |
measure(String componentKey,
Metric<G> metric) |
<G extends Serializable> |
measure(String componentKey,
String metricKey) |
Collection<Measure> |
measures(String componentKey) |
InputModule |
module() |
NewAnalysisError |
newAnalysisError()
Builder to declare errors that happened while processing a source file.
|
NewCoverage |
newCoverage()
Builder to define coverage in a file.
|
NewCpdTokens |
newCpdTokens()
Builder to define CPD tokens in a file.
|
NewHighlighting |
newHighlighting()
Builder to define highlighting of a file.
|
NewIssue |
newIssue()
Fluent builder to create a new
Issue. |
<G extends Serializable> |
newMeasure()
Fluent builder to create a new
Measure. |
NewSymbolTable |
newSymbolTable()
Builder to define symbol table of a file.
|
Collection<TextRange> |
referencesForSymbolAt(String componentKey,
int line,
int lineOffset)
Return list of symbol references ranges for the symbol at a given position in a file.
|
SonarRuntime |
runtime()
Runtime information, mainly:
to be able to have different behaviours between SonarQube and SonarLint
to enable new features depending on version of API available at runtime
|
SensorContextTester |
setActiveRules(ActiveRules activeRules) |
void |
setCancelled(boolean cancelled) |
SensorContextTester |
setFileSystem(DefaultFileSystem fs) |
SensorContextTester |
setRuntime(SonarRuntime runtime) |
SensorContextTester |
setSettings(Settings settings) |
Settings |
settings()
Get settings of the current module.
|
static Integer |
sumOrNull(Integer o1,
Integer o2) |
public static SensorContextTester create(File moduleBaseDir)
public static SensorContextTester create(Path moduleBaseDir)
public Settings settings()
SensorContextsettings in interface SensorContextpublic SensorContextTester setSettings(Settings settings)
public DefaultFileSystem fileSystem()
SensorContextfileSystem in interface SensorContextpublic SensorContextTester setFileSystem(DefaultFileSystem fs)
public ActiveRules activeRules()
SensorContextactiveRules in interface SensorContextpublic SensorContextTester setActiveRules(ActiveRules activeRules)
public Version getSonarQubeVersion()
setRuntime(SonarRuntime) to test your Sensor behaviour.getSonarQubeVersion in interface SensorContextsince version 6.0.public SonarRuntime runtime()
SensorContextruntime in interface SensorContextto override defaults (SonarQube scanner with version
of this API as used at compilation time).public SensorContextTester setRuntime(SonarRuntime runtime)
public boolean isCancelled()
SensorContexttrue. For example it could be tested between each processed file.isCancelled in interface SensorContextpublic void setCancelled(boolean cancelled)
public InputModule module()
module in interface SensorContextpublic <G extends Serializable> NewMeasure<G> newMeasure()
SensorContextMeasure. Don't forget to call NewMeasure.save() once all parameters are provided.newMeasure in interface SensorContextpublic Collection<Measure> measures(String componentKey)
public <G extends Serializable> Measure<G> measure(String componentKey, Metric<G> metric)
public <G extends Serializable> Measure<G> measure(String componentKey, String metricKey)
public NewIssue newIssue()
SensorContextIssue. Don't forget to call NewIssue.save() once all parameters are provided.newIssue in interface SensorContextpublic Collection<Issue> allIssues()
public Collection<AnalysisError> allAnalysisErrors()
@CheckForNull public Integer lineHits(String fileKey, int line)
@CheckForNull public Integer conditions(String fileKey, int line)
@CheckForNull public Integer coveredConditions(String fileKey, int line)
@CheckForNull public List<TokensLine> cpdTokens(String componentKey)
public NewHighlighting newHighlighting()
SensorContextNewHighlighting.save() once all elements are provided.newHighlighting in interface SensorContextpublic NewCoverage newCoverage()
SensorContextNewCoverage.save().newCoverage in interface SensorContextpublic NewCpdTokens newCpdTokens()
SensorContextNewCpdTokens.save().newCpdTokens in interface SensorContextpublic NewSymbolTable newSymbolTable()
SensorContextNewSymbolTable.save() once all symbols are provided.newSymbolTable in interface SensorContextpublic NewAnalysisError newAnalysisError()
SensorContextNewAnalysisError.save().newAnalysisError in interface SensorContextpublic List<TypeOfText> highlightingTypeAt(String componentKey, int line, int lineOffset)
componentKey - Key of the file like 'myProjectKey:src/foo.php'line - Line you want to querylineOffset - Offset you want to query.@CheckForNull public Collection<TextRange> referencesForSymbolAt(String componentKey, int line, int lineOffset)
componentKey - Key of the file like 'myProjectKey:src/foo.php'line - Line you want to querylineOffset - Offset you want to query.public void addContextProperty(String key, String value)
SensorContext"sonar.analysis." are included to the
payload of webhooks.addContextProperty in interface SensorContextPostProjectAnalysisTask.ProjectAnalysis.getScannerContext()public Map<String,String> getContextProperties()
SensorContext.addContextProperty(String, String).public void markForPublishing(InputFile inputFile)
SensorContextmarkForPublishing in interface SensorContextCopyright © 2009–2017 SonarSource. All rights reserved.