Skip to content

Commit

Permalink
Merge pull request #402 from owasp-noir/refactor/modularize-detector
Browse files Browse the repository at this point in the history
♻️ modularize detectors (#379)
  • Loading branch information
hahwul authored Sep 21, 2024
2 parents e65b0fc + 1692b53 commit 1dd9c71
Show file tree
Hide file tree
Showing 82 changed files with 633 additions and 579 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/crystal/*"

describe "Detect Crystal Kemal" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorCrystalKemal.new options
instance = Detector::Crystal::Kemal.new options

it "shard.yml" do
instance.detect("shard.yml", "kemalcr/kemal").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/crystal/*"

describe "Detect Crystal Lucky" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorCrystalLucky.new options
instance = Detector::Crystal::Lucky.new options

it "shard.yml" do
instance.detect("shard.yml", "luckyframework/lucky").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/csharp/*"

describe "Detect C# ASP.Net MVC" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorCSharpAspNetMvc.new options
instance = Detector::CSharp::AspNetMvc.new options

it "packages" do
instance.detect("packages.config", "Microsoft.AspNet.Mvc").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/elixir/*"

describe "Detect Elixir Phoenix" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorElixirPhoenix.new options
instance = Detector::Elixir::Phoenix.new options

it "mix" do
instance.detect("mix.exs", "ElixirPhoenix").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/go/*"

describe "Detect Go BeegoEcho" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorGoBeego.new options
instance = Detector::Go::Beego.new options

it "go.mod" do
instance.detect("go.mod", "github.com/beego/beego").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/go/*"

describe "Detect Go Echo" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorGoEcho.new options
instance = Detector::Go::Echo.new options

it "go.mod" do
instance.detect("go.mod", "github.com/labstack/echo").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/go/*"

describe "Detect Go Fiber" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorGoFiber.new options
instance = Detector::Go::Fiber.new options

it "go.mod" do
instance.detect("go.mod", "github.com/gofiber/fiber").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/go/*"

describe "Detect Go Gin" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorGoGin.new options
instance = Detector::Go::Gin.new options

it "go.mod" do
instance.detect("go.mod", "github.com/gin-gonic/gin").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Java Armeria" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorJavaArmeria.new options
instance = Detector::Java::Armeria.new options

it "pom.xml" do
instance.detect("pom.xml", "com.linecorp.armeria").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Java JSP" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorJavaJsp.new options
instance = Detector::Java::Jsp.new options

it "case1" do
instance.detect("1.jsp", "<% info(); %>").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Java Spring" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorJavaSpring.new options
instance = Detector::Java::Spring.new options

it "test.java" do
instance.detect("test.java", "import org.springframework.boot.SpringApplication;").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect JS Express" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorJsExpress.new options
instance = Detector::Javascript::Express.new options

it "require_single_quot" do
instance.detect("index.js", "require('express')").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect JS Restify" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorJsRestify.new options
instance = Detector::Javascript::Restify.new options

it "require_single_quot" do
instance.detect("index.js", "require('restify')").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Kotlin Spring" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorKotlinSpring.new options
instance = Detector::Kotlin::Spring.new options

it "test.kt" do
instance.detect("test.kt", "import org.springframework.boot.SpringApplication").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Php Pure" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorPhpPure.new options
instance = Detector::Php::Php.new options

it "detect_php 1" do
instance.detect("1.php", "<? phpinfo(); ?>").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Python Django" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorPythonDjango.new options
instance = Detector::Python::Django.new options

it "settings.py" do
instance.detect("settings.py", "from django.apps import AppConfig").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Python FastAPI" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorPythonFastAPI.new options
instance = Detector::Python::FastAPI.new options

it "settings.py" do
instance.detect("settings.py", "from fastapi").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Python Flask" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorPythonFlask.new options
instance = Detector::Python::Flask.new options

it "detect_flask - app.py" do
instance.detect("app.py", "from flask import Flask").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Ruby Hanami" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorRubyHanami.new options
instance = Detector::Ruby::Hanami.new options

it "gemfile/single_quot" do
instance.detect("Gemfile", "gem 'hanami'").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Ruby Rails" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorRubyRails.new options
instance = Detector::Ruby::Rails.new options

it "gemfile/single_quot" do
instance.detect("Gemfile", "gem 'rails'").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Ruby Sinatra" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorRubySinatra.new options
instance = Detector::Ruby::Sinatra.new options

it "gemfile/single_quot" do
instance.detect("Gemfile", "gem 'sinatra'").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Rust Axum" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorRustAxum.new options
instance = Detector::Rust::Axum.new options

it "Gargo.toml" do
instance.detect("Cargo.toml", "[dependencies]\naxum = {}").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect Rust Rocket" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorRustRocket.new options
instance = Detector::Rust::Rocket.new options

it "Gargo.toml" do
instance.detect("Cargo.toml", "[dependencies]\nrocket = {}").should eq(true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
require "../../../src/detector/detectors/*"
require "../../../src/models/code_locator"
require "../../../../src/detector/detectors/*"
require "../../../../src/models/code_locator"

describe "Detect OAS 2.0(Swagger) Docs" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorOas2.new options
instance = Detector::Specification::Oas2.new options

it "json format" do
content = <<-EOS
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
require "../../../src/detector/detectors/*"
require "../../../src/models/code_locator"
require "../../../../src/detector/detectors/*"
require "../../../../src/models/code_locator"

describe "Detect OAS 3.0 Docs" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorOas3.new options
instance = Detector::Specification::Oas3.new options

it "json format" do
content = <<-EOS
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
require "../../../src/detector/detectors/*"
require "../../../../src/detector/detectors/*"

describe "Detect RAML" do
config_init = ConfigInitializer.new
options = config_init.default_options
instance = DetectorRAML.new options
instance = Detector::Specification::RAML.new options

it "raml" do
instance.detect("app.yaml", "#%RAML\nApp: 1").should eq(true)
Expand Down
10 changes: 5 additions & 5 deletions spec/unit_test/models/noir_spec.cr
Original file line number Diff line number Diff line change
Expand Up @@ -45,23 +45,23 @@ describe "set-pvalue" do
it "applies pvalue to query parameter" do
runner.apply_pvalue("query", "name", "value").should eq("FUZZ")
end

it "applies pvalue to header parameter with '=' delimiter" do
runner.apply_pvalue("header", "name", "value").should eq("FUZZ")
end

it "does not apply pvalue to header parameter when name does not match" do
runner.apply_pvalue("header", "name2", "value").should eq("value")
end

it "applies pvalue to cookie parameter with ':' delimiter" do
runner.apply_pvalue("cookie", "name", "value").should eq("FUZZ")
end

it "does not apply pvalue to cookie parameter when name does not match" do
runner.apply_pvalue("cookie", "name2", "value").should eq("value")
end

it "includes '=' in the pvalue for JSON parameter" do
runner.apply_pvalue("json", "name", "value").should eq("FUZZ=FUZZ")
end
Expand Down
Loading

0 comments on commit 1dd9c71

Please sign in to comment.