Skip to content

Commit

Permalink
GixyBear.py: Add GixyBear
Browse files Browse the repository at this point in the history
This commit adds GixyBear.

Closes #1724
  • Loading branch information
suggoitanoshi committed Nov 5, 2018
1 parent dc8c95c commit df29de2
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
23 changes: 23 additions & 0 deletions bears/configfiles/GixyBear.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from coalib.bearlib.abstractions.Linter import linter
from coalib.results.RESULT_SEVERITY import RESULT_SEVERITY
from coalib.results.Result import Result
import json


@linter(executable="gixy")
class GixyBear:
severity_map = {"HIGH": RESULT_SEVERITY.MAJOR,
"MEDIUM": RESULT_SEVERITY.NORMAL,
"LOW": RESULT_SEVERITY.INFO}

@staticmethod
def create_arguments(filename, file, config_file):
return ("--format=json", filename)

def process_output(self, output, filename, file):
output = json.loads(output) if output else []
for issue in output:
yield Result.from_values(origin=self,
message=issue["summary"],
severity=self.severity_map[issue["severity"]],
file=filename)
26 changes: 26 additions & 0 deletions tests/configfiles/GixyBearTest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import os

from bears.configfiles.GixyBear import GixyBear
from coalib.testing.LocalBearTestHelper import verify_local_bear

good_file = """
server {
location ~ \.(gif|jpg|png)$ {
root /data/images;
}
}
"""

bad_file = """
http{
server{
location ~ /proxy/(.*)/(.*)/(.*)$ {
proxy_pass $1://$2/$3;
}
}
}
"""

GixyBearTest = verify_local_bear(GixyBear,
valid_files = (good_file, ),
invalid_files = (bad_file, ))

0 comments on commit df29de2

Please sign in to comment.