From 21f8064cddce68af602d917902abd74eb30154f3 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 19:50:37 -0600 Subject: [PATCH 01/47] running go.mod tidy --- go.mod | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 87ee416..0546838 100644 --- a/go.mod +++ b/go.mod @@ -2,8 +2,9 @@ module github.com/heinrichb/scrapey-cli go 1.23.4 +require github.com/fatih/color v1.18.0 + require ( - github.com/fatih/color v1.18.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect golang.org/x/sys v0.25.0 // indirect From a5826753c34e05e95921ff42d7b316b8e252b898 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 20:09:26 -0600 Subject: [PATCH 02/47] Added formatting on save for vscode as default project setting --- .gitignore | 1 - .vscode/settings.json | 6 +++++ cmd/scrapeycli/main.go | 50 +++++++++++++++++++++--------------------- pkg/config/config.go | 12 +++++----- 4 files changed, 37 insertions(+), 32 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.gitignore b/.gitignore index ee7c360..9e55f8d 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,6 @@ go.work.sum # Editor/OS-specific .DS_Store .idea/ -.vscode/ # Environment variables .env diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..95ec900 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "editor.formatOnSave": true, + "[go]": { + "editor.defaultFormatter": "golang.go" + } +} diff --git a/cmd/scrapeycli/main.go b/cmd/scrapeycli/main.go index 1cec306..0cb16ba 100644 --- a/cmd/scrapeycli/main.go +++ b/cmd/scrapeycli/main.go @@ -10,45 +10,45 @@ import ( ) var ( - configPath string - url string + configPath string + url string ) func init() { - // Two flags for config (-config and -c) so user can choose either - flag.StringVar(&configPath, "config", "", "Path to config file") - flag.StringVar(&configPath, "c", "", "Path to config file (shorthand)") + // Two flags for config (-config and -c) so user can choose either + flag.StringVar(&configPath, "config", "", "Path to config file") + flag.StringVar(&configPath, "c", "", "Path to config file (shorthand)") - // Flag for URL - flag.StringVar(&url, "url", "", "URL to scrape (overrides config)") + // Flag for URL + flag.StringVar(&url, "url", "", "URL to scrape (overrides config)") } func main() { - // Parse CLI flags - flag.Parse() + // Parse CLI flags + flag.Parse() - // Print a colored welcome message - color.Cyan("Welcome to Scrapey CLI!") + // Print a colored welcome message + color.Cyan("Welcome to Scrapey CLI!") - // If no config path is provided, we can optionally default to something: - if configPath == "" { - configPath = "configs/default.json" - } + // If no config path is provided, we can optionally default to something: + if configPath == "" { + configPath = "configs/default.json" + } // Show a colored message for loading config fmt.Printf("%s%s\n", color.New(color.FgHiYellow).Sprint("Loading config from: "), configPath) - // Attempt to load config - cfg, err := config.Load(configPath) - if err != nil { - color.Red("Failed to load config: %v", err) - os.Exit(1) - } - - // If user supplied a URL, override config - if url != "" { + // Attempt to load config + cfg, err := config.Load(configPath) + if err != nil { + color.Red("Failed to load config: %v", err) + os.Exit(1) + } + + // If user supplied a URL, override config + if url != "" { fmt.Printf("%s%s\n", color.New(color.FgHiMagenta).Sprint("Overriding config with URL flag: "), url) cfg.URL = url - } + } // Another colored message to confirm it's loaded fmt.Printf("%s%s\n", color.New(color.FgHiGreen).Sprint("Loaded config from: "), configPath) diff --git a/pkg/config/config.go b/pkg/config/config.go index f1ecac6..d56b0f7 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -2,15 +2,15 @@ package config // Config is a basic struct to hold config data. type Config struct { - URL string `json:"url,omitempty"` - // Add more fields as needed for your use case + URL string `json:"url,omitempty"` + // Add more fields as needed for your use case } // Load reads config from filePath and returns a Config struct. // Currently just returns a placeholder. func Load(filePath string) (*Config, error) { - // In future, parse JSON from filePath - return &Config{ - URL: "http://example.com", // Stub data - }, nil + // In future, parse JSON from filePath + return &Config{ + URL: "http://example.com", // Stub data + }, nil } From 9f25502602ac9e71200714c212293bccbfcb58da Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 20:39:13 -0600 Subject: [PATCH 03/47] Added makefile for build and updated README. --- .gitignore | 2 +- Makefile | 3 +++ README.md | 54 +++++++++++++++++++++++++++++++++-------------------- scrapeycli | Bin 2380836 -> 0 bytes 4 files changed, 38 insertions(+), 21 deletions(-) create mode 100644 Makefile delete mode 100755 scrapeycli diff --git a/.gitignore b/.gitignore index 9e55f8d..04d00f4 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,4 @@ go.work.sum .idea/ # Environment variables -.env +.env \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..02ae411 --- /dev/null +++ b/Makefile @@ -0,0 +1,3 @@ +.PHONY: build +build: + go build -o build/scrapeycli ./cmd/scrapeycli diff --git a/README.md b/README.md index 68686ea..7fc6d01 100644 --- a/README.md +++ b/README.md @@ -27,11 +27,14 @@ Scrapey CLI is a lightweight, configurable web crawler and scraper. It collects cd scrapey-cli go mod tidy -3. **Build the CLI**: - go build ./cmd/scrapeycli +3. **Build the CLI**: + Use the provided Makefile to build the binary into the `build` folder: + make build + Alternatively, you can run: + go build -o build/scrapeycli ./cmd/scrapeycli 4. **Run**: - ./scrapeycli --config configs/default.json + ./build/scrapeycli --config configs/default.json --- @@ -39,23 +42,34 @@ Scrapey CLI is a lightweight, configurable web crawler and scraper. It collects ``` scrapey-cli/ +├── .github/ # GitHub-specific configurations +│ └── workflows/ +│ └── ci.yml # GitHub Actions CI/CD pipeline configuration +├── .vscode/ # VS Code settings +│ └── settings.json # Editor settings (format on save for Go) +├── build/ # Build scripts, Dockerfiles, etc. ├── cmd/ -│ └── scrapeycli/ -│ └── main.go # CLI entry point -├── pkg/ -│ ├── config/ # Config loading logic -│ ├── crawler/ # Core web crawling logic -│ ├── parser/ # HTML parsing logic -│ └── storage/ # JSON/other storage logic +│ └── scrapeycli/ # CLI application entry point +│ └── main.go # Main Go file for Scrapey CLI ├── configs/ -│ └── default.json # Example config -├── .github/ -│ └── workflows/ -│ └── ci.yml # CI/CD pipeline config -├── docs/ # Additional documentation -├── build/ # Build scripts, Dockerfiles, etc. -├── test/ # Optional integration tests -└── README.md # This file +│ └── default.json # Default/example configuration file +├── docs/ # Project documentation +├── pkg/ # Public packages for external use +│ ├── config/ +│ │ └── config.go # Config loading logic (stubbed) +│ ├── crawler/ +│ │ └── crawler.go # Core web crawling logic (stubbed) +│ ├── parser/ +│ │ └── parser.go # HTML parsing logic (stubbed) +│ └── storage/ +│ └── storage.go # Storage logic (stubbed for JSON and others) +├── test/ # Optional integration tests +├── .gitignore # Git ignore file +├── LICENSE # MIT License file +├── Makefile # Build script to output binary into build folder +├── go.mod # Go module file +├── go.sum # Go module checksum file +└── README.md # Project README ``` --- @@ -63,10 +77,10 @@ scrapey-cli/ ## 🛠 Usage - **Basic**: - ./scrapeycli --url https://example.com + ./build/scrapeycli --url https://example.com - **With config file**: - ./scrapeycli --config configs/default.json + ./build/scrapeycli --config configs/default.json - **Future**: - Save data to JSON diff --git a/scrapeycli b/scrapeycli deleted file mode 100755 index c1cd98c74cc0f8093cf38dbdec483b16fbd3cd16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2380836 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 z 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 NEGHeBNLm$UT(ggC$c_q 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

a6#9?)$67^i0!P1VcTgL%*SK{ieYiO&9kks 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

xn-)x`+~<~S(BxbpZ97qlyl2x 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 L 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%0ADD6b-ZZ739=Be7(htYK19;oT(^vQcsT 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

xe(c95>b#Md(@ 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§m(dBkMjUKgFsOAnthc$uLtbg;u#}p}hF-aG)rd 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 z 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

&@$lo_I}Bdi(UUpF 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%0AZff~;H6Q|Vy;nZ$x;hw| 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%0D8e%Z&<3A){ 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 From 33b30a8ad7435e8cfbe0fc8882327e5624468d11 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 21:47:40 -0600 Subject: [PATCH 04/47] Added --- .github/workflows/ci.yml | 2 + .gitignore | 2 + Makefile | 22 +++++- README.md | 134 +++++++++++++++++++++++++++--------- cmd/scrapeycli/main_test.go | 46 +++++++++++++ go.mod | 2 + pkg/config/config.go | 38 +++++++--- pkg/config/config_test.go | 62 +++++++++++++++++ pkg/crawler/crawler.go | 2 + pkg/parser/parser.go | 2 + pkg/storage/storage.go | 2 + 11 files changed, 271 insertions(+), 43 deletions(-) create mode 100644 cmd/scrapeycli/main_test.go create mode 100644 pkg/config/config_test.go diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e6c3dc7..2061d0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,3 +1,5 @@ +# File: .github/workflows/ci.yml + name: CI on: diff --git a/.gitignore b/.gitignore index 04d00f4..ee145ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +# File: .gitignore + # Go binaries for programs and plugins *.exe *.exe~ diff --git a/Makefile b/Makefile index 02ae411..c57f536 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,23 @@ -.PHONY: build +# File: Makefile + +.PHONY: build run test + build: + go mod tidy go build -o build/scrapeycli ./cmd/scrapeycli + +CONFIG_FLAG = +ifdef CONFIG + CONFIG_FLAG := --config $(CONFIG) +endif + +URL_FLAG = +ifdef URL + URL_FLAG := --url $(URL) +endif + +run: + ./build/scrapeycli $(CONFIG_FLAG) $(URL_FLAG) + +test: + go test ./... diff --git a/README.md b/README.md index 7fc6d01..b33799c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ + + # ✨ Scrapey CLI [![Build & Test](https://github.com/heinrichb/scrapey-cli/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/heinrichb/scrapey-cli/actions/workflows/ci.yml) @@ -10,31 +12,67 @@ Scrapey CLI is a lightweight, configurable web crawler and scraper. It collects ## 🚀 Features -- Lightweight and modular CLI interface -- Configurable input (`.json` config file or command-line flags) -- Extensible parsing logic for targeted HTML elements -- Future support for multiple storage options (JSON, XML, Excel, MongoDB, MySQL) -- DRY and clean code principles +- **Lightweight & Modular CLI:** Built with clean, DRY code principles. +- **Configurable Input:** Accepts configuration via a JSON file or command-line flags. +- **Extensible Parsing:** Customizable HTML parsing logic. +- **Planned Storage Options:** Future support for multiple output formats including JSON, XML, Excel, MongoDB, MySQL. --- ## 🌱 Getting Started -1. **Clone the repo**: - git clone https://github.com/heinrichb/scrapey-cli.git +1. **Clone the Repo** + + ``` + git clone https://github.com/heinrichb/scrapey-cli.git + ``` + +2. **Initialize Go Modules & Build the CLI** + + - **Option 1:** Using the Makefile (recommended) + + ``` + make build + ``` + + - This command runs `go mod tidy` and then builds the binary into the `build` folder. + + - **Option 2:** Directly via Go + + ``` + go mod tidy + go build -o build/scrapeycli ./cmd/scrapeycli + ``` + +3. **Run the CLI** -2. **Initialize Go modules**: - cd scrapey-cli - go mod tidy + - **Direct Execution:** + ``` + ./build/scrapeycli --config configs/default.json + ``` + - **Using the Makefile:** + The Makefile provides a `run` target which allows you to pass in optional variables: + - **Default Run:** -3. **Build the CLI**: - Use the provided Makefile to build the binary into the `build` folder: - make build - Alternatively, you can run: - go build -o build/scrapeycli ./cmd/scrapeycli + ``` + make run + ``` -4. **Run**: - ./build/scrapeycli --config configs/default.json + | This uses the default configuration file (`configs/default.json`). + + - **Override Config:** + ``` + make run CONFIG=configs/other.json + ``` + - **Pass a URL:** + ``` + make run URL=https://example.org + ``` + - **Combined:** + + ``` + make run CONFIG=configs/other.json URL=https://example.org + ``` --- @@ -66,7 +104,7 @@ scrapey-cli/ ├── test/ # Optional integration tests ├── .gitignore # Git ignore file ├── LICENSE # MIT License file -├── Makefile # Build script to output binary into build folder +├── Makefile # Build & run script for CLI ├── go.mod # Go module file ├── go.sum # Go module checksum file └── README.md # Project README @@ -76,43 +114,71 @@ scrapey-cli/ ## 🛠 Usage -- **Basic**: +- **Basic Execution:** + ``` ./build/scrapeycli --url https://example.com - -- **With config file**: + ``` +- **With a Config File:** + ``` ./build/scrapeycli --config configs/default.json + ``` +- **Using the Makefile:** + + - Run with defaults: -- **Future**: - - Save data to JSON - - Multiple URLs at once - - Concurrency and rate-limiting + ``` + make run + ``` + + - Override configuration and/or URL: + + ``` + make run CONFIG=configs/other.json URL=https://example.org + ``` + +- **Future Enhancements:** + - Save scraped data to JSON. + - Support for scraping multiple URLs simultaneously. + - Concurrency and rate-limiting. --- ## 🧪 Tests -- Run unit tests locally: +- **Run Unit Tests Locally:** + + ``` go test ./... + ``` -- Automated tests on GitHub Actions: - - Triggered on every push and pull request to main or develop branches. +- **Automated Tests on GitHub Actions:** + - Tests are triggered on every push and pull request to the `main` or `develop` branches. - See Build & Test (https://github.com/heinrichb/scrapey-cli/actions) for logs and results. --- ## 🤝 Contributing -1. Fork the project -2. Create your feature branch (git checkout -b feature/amazing-feature) -3. Commit your changes (git commit -m 'Add some amazing feature') -4. Push to the branch (git push origin feature/amazing-feature) -5. Open a Pull Request +1. Fork the project. +2. Create your feature branch: + ``` + git checkout -b feature/amazing-feature + ``` +3. Commit your changes: + ``` + git commit -m 'Add some amazing feature' + ``` +4. Push to the branch: + ``` + git push origin feature/amazing-feature + ``` +5. Open a Pull Request. --- ## 📄 License -This project is licensed under the MIT License (LICENSE). +This project is licensed under the MIT License ([LICENSE](LICENSE)). --- diff --git a/cmd/scrapeycli/main_test.go b/cmd/scrapeycli/main_test.go new file mode 100644 index 0000000..520dd84 --- /dev/null +++ b/cmd/scrapeycli/main_test.go @@ -0,0 +1,46 @@ +// File: cmd/scrapeycli/main_test.go + +package main + +import ( + "os/exec" + "strings" + "testing" +) + +func TestMainExecution(t *testing.T) { + // Set the working directory to the project root. + cmd := exec.Command("go", "run", "./cmd/scrapeycli/main.go", "--config", "configs/default.json") + cmd.Dir = "../.." + + output, err := cmd.CombinedOutput() + if err != nil { + t.Fatalf("Failed to run main.go: %v\nOutput: %s", err, string(output)) + } + + outStr := string(output) + if !strings.Contains(outStr, "Welcome to Scrapey CLI!") { + t.Errorf("Expected welcome message not found in output.\nOutput: %s", outStr) + } +} + +func TestMainConfigFailure(t *testing.T) { + // Set the working directory to the project root. + cmd := exec.Command("go", "run", "./cmd/scrapeycli/main.go", "--config", "nonexistent.json") + cmd.Dir = "../.." + + output, err := cmd.CombinedOutput() + // The command should fail and exit with code 1. + if err == nil { + t.Fatalf("Expected failure due to config load error, but got success.\nOutput: %s", string(output)) + } + + // Check if the error is an ExitError and verify that the exit code is 1. + if exitErr, ok := err.(*exec.ExitError); ok { + if exitErr.ExitCode() != 1 { + t.Errorf("Expected exit code 1, got %d", exitErr.ExitCode()) + } + } else { + t.Fatalf("Error was not of type *exec.ExitError: %v", err) + } +} diff --git a/go.mod b/go.mod index 0546838..7a61092 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,5 @@ +// File: go.mod + module github.com/heinrichb/scrapey-cli go 1.23.4 diff --git a/pkg/config/config.go b/pkg/config/config.go index d56b0f7..7b57411 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -1,16 +1,38 @@ +// File: pkg/config/config.go + package config -// Config is a basic struct to hold config data. +import ( + "encoding/json" + "fmt" + "os" +) + +// Config holds configuration data. type Config struct { URL string `json:"url,omitempty"` - // Add more fields as needed for your use case } -// Load reads config from filePath and returns a Config struct. -// Currently just returns a placeholder. +// Load reads config from the specified filePath. +// Returns an error if the file does not exist or if the JSON is invalid. func Load(filePath string) (*Config, error) { - // In future, parse JSON from filePath - return &Config{ - URL: "http://example.com", // Stub data - }, nil + if _, err := os.Stat(filePath); os.IsNotExist(err) { + return nil, fmt.Errorf("config file %s does not exist", filePath) + } + + fmt.Printf("Loading config from %s\n", filePath) + + // Read the file contents using os.ReadFile (replacing deprecated ioutil.ReadFile). + content, err := os.ReadFile(filePath) + if err != nil { + return nil, fmt.Errorf("failed to read config file: %v", err) + } + + // Unmarshal the JSON into a Config struct. + var cfg Config + if err := json.Unmarshal(content, &cfg); err != nil { + return nil, fmt.Errorf("invalid JSON in config file: %v", err) + } + + return &cfg, nil } diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go new file mode 100644 index 0000000..2da0071 --- /dev/null +++ b/pkg/config/config_test.go @@ -0,0 +1,62 @@ +// File: pkg/config/config_test.go + +package config + +import ( + "os" + "testing" +) + +func TestLoadValidConfig(t *testing.T) { + // Create a temporary file with valid JSON using os.CreateTemp. + tmpFile, err := os.CreateTemp("", "valid_config_*.json") + if err != nil { + t.Fatalf("Failed to create temp file: %v", err) + } + defer os.Remove(tmpFile.Name()) + + validJSON := `{"url": "http://example.org"}` + if _, err := tmpFile.Write([]byte(validJSON)); err != nil { + t.Fatalf("Failed to write to temp file: %v", err) + } + tmpFile.Close() // Close the file so it can be read by Load. + + // Attempt to load the config from the temporary file. + cfg, err := Load(tmpFile.Name()) + if err != nil { + t.Fatalf("Expected valid config, got error: %v", err) + } + + if cfg.URL != "http://example.org" { + t.Errorf("Expected URL 'http://example.org', got '%s'", cfg.URL) + } +} + +func TestLoadNonexistentFile(t *testing.T) { + // Attempt to load a config from a non-existent file. + _, err := Load("nonexistent_file.json") + if err == nil { + t.Fatalf("Expected error for non-existent file, got nil") + } +} + +func TestLoadInvalidJSON(t *testing.T) { + // Create a temporary file with invalid JSON using os.CreateTemp. + tmpFile, err := os.CreateTemp("", "invalid_config_*.json") + if err != nil { + t.Fatalf("Failed to create temp file: %v", err) + } + defer os.Remove(tmpFile.Name()) + + invalidJSON := `{"url": "http://example.org"` // Missing closing brace. + if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { + t.Fatalf("Failed to write to temp file: %v", err) + } + tmpFile.Close() + + // Attempt to load the config from the temporary file. + _, err = Load(tmpFile.Name()) + if err == nil { + t.Fatalf("Expected error for invalid JSON, got nil") + } +} diff --git a/pkg/crawler/crawler.go b/pkg/crawler/crawler.go index 5c308cb..cc6d9ec 100644 --- a/pkg/crawler/crawler.go +++ b/pkg/crawler/crawler.go @@ -1,3 +1,5 @@ +// File: pkg/crawler/crawler.go + package crawler // Crawler is responsible for fetching HTML content from URLs. diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index 75e5396..a1d75d2 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -1,3 +1,5 @@ +// File: pkg/parser/parser.go + package parser // ParseHTML analyzes HTML content and extracts data based on config or rules. diff --git a/pkg/storage/storage.go b/pkg/storage/storage.go index 08b6978..0a556ea 100644 --- a/pkg/storage/storage.go +++ b/pkg/storage/storage.go @@ -1,3 +1,5 @@ +// File: pkg/storage/storage.go + package storage // StorageOption enumerates the types of storage we might support. From 4bca18e8a9d9f1c57c0606d0b994b99e1eb993b1 Mon Sep 17 00:00:00 2001 From: dan-avel Date: Thu, 13 Feb 2025 22:49:50 -0500 Subject: [PATCH 05/47] READ CONFIG FILES --- configs/default.json | 6 ++--- pkg/config/config.go | 54 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 53 insertions(+), 7 deletions(-) diff --git a/configs/default.json b/configs/default.json index ad43486..068243e 100644 --- a/configs/default.json +++ b/configs/default.json @@ -1,7 +1,7 @@ { - "url": "https://example.com", + "url": "https://MyExample.com", "parseRules": { - "title": "title", - "metaDescription": "meta[name='description']" + "title": "My Example App", + "metaDescription": "meta[name='Example App Loading Config']" } } diff --git a/pkg/config/config.go b/pkg/config/config.go index d56b0f7..f13fe82 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -1,16 +1,62 @@ package config +import ( + "fmt" + "os" + "encoding/json" + "github.com/fatih/color" + "reflect" +) + // Config is a basic struct to hold config data. type Config struct { URL string `json:"url,omitempty"` - // Add more fields as needed for your use case + PARSERULES struct { + TITLE string `json:title,omitempty` + METADESCRIPTION string `json:metaDescription,omitempty` + } } // Load reads config from filePath and returns a Config struct. // Currently just returns a placeholder. func Load(filePath string) (*Config, error) { // In future, parse JSON from filePath - return &Config{ - URL: "http://example.com", // Stub data - }, nil + file, err := os.Open(filePath) + if err != nil { + return nil, err + } + defer file.Close() + var cfg Config + decoder := json.NewDecoder(file) + if err := decoder.Decode(&cfg); err != nil { + return nil, err + } + + printNonEmptyFields("", cfg) + return &cfg, nil } + +func printNonEmptyFields(prefix string, v interface{}) { + val := reflect.ValueOf(v) + + // Handle pointers or nested structs + if val.Kind() == reflect.Ptr { + val = val.Elem() + } + + typ := val.Type() + + // Iterate over fields + for i := 0; i < typ.NumField(); i++ { + field := val.Field(i) + fieldType := typ.Field(i) + fieldName := fieldType.Name + + // Handle nested structs + if field.Kind() == reflect.Struct { + printNonEmptyFields(prefix+fieldName+".", field.Interface()) + } else if field.Kind() == reflect.String && field.String() != "" { + fmt.Println(color.New(color.FgHiYellow).Sprint(prefix+fieldName+":"), field.String()) + } + } +} \ No newline at end of file From a80f1caf69c6c36007c84a986ed3c2cc5a8f44f1 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 21:52:54 -0600 Subject: [PATCH 06/47] Updating makefile test command --- Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c57f536..ceb63bd 100644 --- a/Makefile +++ b/Makefile @@ -20,4 +20,7 @@ run: ./build/scrapeycli $(CONFIG_FLAG) $(URL_FLAG) test: - go test ./... + @go test ./... + @if [ -d test ] && ls test/*.go > /dev/null 2>&1; then \ + go test ./test; \ + fi From 9d73457cc0035488a7926cd18df3d426506ea139 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 21:56:21 -0600 Subject: [PATCH 07/47] Removing spacing on file comments --- .github/workflows/ci.yml | 1 - .gitignore | 1 - Makefile | 1 - cmd/scrapeycli/main.go | 1 + cmd/scrapeycli/main_test.go | 1 - pkg/config/config.go | 1 - pkg/crawler/crawler.go | 1 - pkg/parser/parser.go | 1 - pkg/storage/storage.go | 1 - 9 files changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2061d0d..b59ddbd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,4 @@ # File: .github/workflows/ci.yml - name: CI on: diff --git a/.gitignore b/.gitignore index ee145ea..ce68cb8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ # File: .gitignore - # Go binaries for programs and plugins *.exe *.exe~ diff --git a/Makefile b/Makefile index ceb63bd..a8146cd 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,4 @@ # File: Makefile - .PHONY: build run test build: diff --git a/cmd/scrapeycli/main.go b/cmd/scrapeycli/main.go index 0cb16ba..4335bc6 100644 --- a/cmd/scrapeycli/main.go +++ b/cmd/scrapeycli/main.go @@ -1,3 +1,4 @@ +// File: cmd/scrapeycli/main.go package main import ( diff --git a/cmd/scrapeycli/main_test.go b/cmd/scrapeycli/main_test.go index 520dd84..1473f0c 100644 --- a/cmd/scrapeycli/main_test.go +++ b/cmd/scrapeycli/main_test.go @@ -1,5 +1,4 @@ // File: cmd/scrapeycli/main_test.go - package main import ( diff --git a/pkg/config/config.go b/pkg/config/config.go index 7b57411..33f022e 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -1,5 +1,4 @@ // File: pkg/config/config.go - package config import ( diff --git a/pkg/crawler/crawler.go b/pkg/crawler/crawler.go index cc6d9ec..1fa951a 100644 --- a/pkg/crawler/crawler.go +++ b/pkg/crawler/crawler.go @@ -1,5 +1,4 @@ // File: pkg/crawler/crawler.go - package crawler // Crawler is responsible for fetching HTML content from URLs. diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index a1d75d2..77cbd39 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -1,5 +1,4 @@ // File: pkg/parser/parser.go - package parser // ParseHTML analyzes HTML content and extracts data based on config or rules. diff --git a/pkg/storage/storage.go b/pkg/storage/storage.go index 0a556ea..5f4e0bb 100644 --- a/pkg/storage/storage.go +++ b/pkg/storage/storage.go @@ -1,5 +1,4 @@ // File: pkg/storage/storage.go - package storage // StorageOption enumerates the types of storage we might support. From 79f416ac862391df559d2fe0ecf26477c0706e4a Mon Sep 17 00:00:00 2001 From: dan-avel Date: Thu, 13 Feb 2025 23:01:56 -0500 Subject: [PATCH 08/47] OUTPUT CONFIG SETTINGS --- pkg/config/config.go | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/pkg/config/config.go b/pkg/config/config.go index 8eaa339..b46c80b 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -17,6 +17,7 @@ type Config struct { TITLE string `json:title,omitempty` METADESCRIPTION string `json:metaDescription,omitempty` } +} // Load reads config from the specified filePath. // Returns an error if the file does not exist or if the JSON is invalid. @@ -38,18 +39,6 @@ func Load(filePath string) (*Config, error) { if err := json.Unmarshal(content, &cfg); err != nil { return nil, fmt.Errorf("invalid JSON in config file: %v", err) } - // In future, parse JSON from filePath - file, err := os.Open(filePath) - if err != nil { - return nil, err - } - defer file.Close() - var cfg Config - decoder := json.NewDecoder(file) - if err := decoder.Decode(&cfg); err != nil { - return nil, err - } - printNonEmptyFields("", cfg) return &cfg, nil } From 59150c4bfd39337dd4669939a6d767d6ea8ce443 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 22:06:55 -0600 Subject: [PATCH 09/47] Adding tests and cleaning up readme.md --- README.md | 101 ++++++++++++++++++++++++------------------------------ 1 file changed, 45 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index b33799c..5fa2151 100644 --- a/README.md +++ b/README.md @@ -23,56 +23,48 @@ Scrapey CLI is a lightweight, configurable web crawler and scraper. It collects 1. **Clone the Repo** - ``` - git clone https://github.com/heinrichb/scrapey-cli.git - ``` + git clone https://github.com/heinrichb/scrapey-cli.git 2. **Initialize Go Modules & Build the CLI** - **Option 1:** Using the Makefile (recommended) - ``` - make build - ``` + make build - This command runs `go mod tidy` and then builds the binary into the `build` folder. - **Option 2:** Directly via Go - ``` - go mod tidy - go build -o build/scrapeycli ./cmd/scrapeycli - ``` + go mod tidy + go build -o build/scrapeycli ./cmd/scrapeycli 3. **Run the CLI** - **Direct Execution:** - ``` - ./build/scrapeycli --config configs/default.json - ``` + + ./build/scrapeycli --config configs/default.json + - **Using the Makefile:** + The Makefile provides a `run` target which allows you to pass in optional variables: + - **Default Run:** - ``` - make run - ``` + make run - | This uses the default configuration file (`configs/default.json`). + - This uses the default configuration file (`configs/default.json`). - **Override Config:** - ``` - make run CONFIG=configs/other.json - ``` + + make run CONFIG=configs/other.json + - **Pass a URL:** - ``` - make run URL=https://example.org - ``` + + make run URL=https://example.org + - **Combined:** - ``` - make run CONFIG=configs/other.json URL=https://example.org - ``` + make run CONFIG=configs/other.json URL=https://example.org --- @@ -115,26 +107,22 @@ scrapey-cli/ ## 🛠 Usage - **Basic Execution:** - ``` - ./build/scrapeycli --url https://example.com - ``` + + ./build/scrapeycli --url https://example.com + - **With a Config File:** - ``` - ./build/scrapeycli --config configs/default.json - ``` + + ./build/scrapeycli --config configs/default.json + - **Using the Makefile:** - Run with defaults: - ``` - make run - ``` + make run - Override configuration and/or URL: - ``` - make run CONFIG=configs/other.json URL=https://example.org - ``` + make run CONFIG=configs/other.json URL=https://example.org - **Future Enhancements:** - Save scraped data to JSON. @@ -146,33 +134,34 @@ scrapey-cli/ ## 🧪 Tests - **Run Unit Tests Locally:** + To run tests for all modules and the test folder (if it exists), use: - ``` - go test ./... - ``` + make test + + This command first runs "go test ./..." to execute tests in all packages, and then, if the "test" folder exists and contains Go files, it will run tests in that folder as well. - **Automated Tests on GitHub Actions:** - - Tests are triggered on every push and pull request to the `main` or `develop` branches. + - Tests are triggered on every push and pull request to the "main" or "develop" branches. - See Build & Test (https://github.com/heinrichb/scrapey-cli/actions) for logs and results. --- ## 🤝 Contributing -1. Fork the project. -2. Create your feature branch: - ``` - git checkout -b feature/amazing-feature - ``` -3. Commit your changes: - ``` - git commit -m 'Add some amazing feature' - ``` -4. Push to the branch: - ``` - git push origin feature/amazing-feature - ``` -5. Open a Pull Request. +1. Fork the project. +2. Create your feature branch: + + git checkout -b feature/amazing-feature + +3. Commit your changes: + + git commit -m 'Add some amazing feature' + +4. Push to the branch: + + git push origin feature/amazing-feature + +5. Open a Pull Request. --- From 6b919ac649d55b5d6d6a5a46f63f7c3c32dde956 Mon Sep 17 00:00:00 2001 From: dan-avel Date: Thu, 13 Feb 2025 23:15:59 -0500 Subject: [PATCH 10/47] DOCUMENT FUNCTION PRINTNONEMPTYFIELDS --- pkg/config/config.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/pkg/config/config.go b/pkg/config/config.go index b46c80b..c9187ef 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -43,6 +43,31 @@ func Load(filePath string) (*Config, error) { return &cfg, nil } +// printNonEmptyFields dynamically traverses a struct and prints its non-empty string fields. +// +// Parameters: +// - prefix: A string to prepend to the field name, used to represent nested struct hierarchy (e.g., "Parent.Child."). +// - v: The struct or pointer to a struct to be traversed and inspected. +// +// Usage: +// This function is useful for dynamically inspecting and displaying configurations or other data structures +// where the fields may be optional, and only non-empty values are of interest. +// +// Example: +// Given a struct: +// type Config struct { +// URL string +// Nested struct { +// Title string +// } +// } +// Calling printNonEmptyFields("", configInstance) will output: +// URL: http://example.com +// Nested.Title: Example Title +// +// Notes: +// - This function relies on the reflect package and assumes that the input is a struct or a pointer to a struct. +// - Only string fields are checked for non-emptiness; other types are ignored. func printNonEmptyFields(prefix string, v interface{}) { val := reflect.ValueOf(v) From c2432c04fdeaed70a66a46d6fa355dfcffd290f1 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 22:40:49 -0600 Subject: [PATCH 11/47] Fixing Makefile, increading run speed and adding build dependency. --- Makefile | 19 +++++++--- cmd/scrapeycli/main_test.go | 69 ++++++++++++++++++++++++++++--------- go.mod | 1 - pkg/config/config.go | 15 ++++---- pkg/config/config_test.go | 16 ++++++--- 5 files changed, 86 insertions(+), 34 deletions(-) diff --git a/Makefile b/Makefile index a8146cd..a5bc821 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,18 @@ # File: Makefile -.PHONY: build run test +.PHONY: build run + +# The binary target depends on all .go files, go.mod, and go.sum. +# The find command collects all Go files in the project. +build: $(shell find . -name '*.go') go.mod go.sum + @mkdir -p build + @if [ ! -f build/.stamp ] || [ -n "$$(find . -name '*.go' -newer build/.stamp)" ] || [ go.mod -nt build/.stamp ] || [ go.sum -nt build/.stamp ]; then \ + echo "Changes detected, rebuilding..."; \ + go mod tidy; \ + go build -o build/scrapeycli ./cmd/scrapeycli && touch build/.stamp; \ + else \ + echo "No changes detected, skipping rebuild."; \ + fi -build: - go mod tidy - go build -o build/scrapeycli ./cmd/scrapeycli CONFIG_FLAG = ifdef CONFIG @@ -15,7 +24,7 @@ ifdef URL URL_FLAG := --url $(URL) endif -run: +run: build ./build/scrapeycli $(CONFIG_FLAG) $(URL_FLAG) test: diff --git a/cmd/scrapeycli/main_test.go b/cmd/scrapeycli/main_test.go index 1473f0c..bc6ca95 100644 --- a/cmd/scrapeycli/main_test.go +++ b/cmd/scrapeycli/main_test.go @@ -2,39 +2,58 @@ package main import ( + "flag" "os/exec" "strings" "testing" ) -func TestMainExecution(t *testing.T) { - // Set the working directory to the project root. - cmd := exec.Command("go", "run", "./cmd/scrapeycli/main.go", "--config", "configs/default.json") - cmd.Dir = "../.." - +// runMainCommand is a helper function that executes main.go with the provided arguments. +// It sets the working directory to the project root (two levels up from cmd/scrapeycli/) +// and returns the combined output along with any error. +func runMainCommand(_ *testing.T, args ...string) (string, error) { + cmd := exec.Command("go", append([]string{"run", "./cmd/scrapeycli/main.go"}, args...)...) + cmd.Dir = "../.." // Set working directory to project root. output, err := cmd.CombinedOutput() + return string(output), err +} + +// This test verifies that all necessary command-line flags are properly registered. +// The application depends on these flags to receive configuration input and URL overrides. +func TestFlagRegistration(t *testing.T) { + if f := flag.Lookup("config"); f == nil { + t.Error("Expected flag 'config' to be registered") + } + if f := flag.Lookup("c"); f == nil { + t.Error("Expected shorthand flag 'c' to be registered") + } + if f := flag.Lookup("url"); f == nil { + t.Error("Expected flag 'url' to be registered") + } +} + +// This test executes the main program with a valid configuration file. +// It verifies that the program initializes correctly by checking for the welcome message in the output. +func TestMainExecution(t *testing.T) { + output, err := runMainCommand(t, "--config", "configs/default.json") if err != nil { - t.Fatalf("Failed to run main.go: %v\nOutput: %s", err, string(output)) + t.Fatalf("Failed to run main.go: %v\nOutput: %s", err, output) } - outStr := string(output) - if !strings.Contains(outStr, "Welcome to Scrapey CLI!") { - t.Errorf("Expected welcome message not found in output.\nOutput: %s", outStr) + if !strings.Contains(output, "Welcome to Scrapey CLI!") { + t.Errorf("Expected welcome message not found in output.\nOutput: %s", output) } } +// This test simulates a configuration load failure by providing a non-existent config file. +// It confirms that the program correctly handles the error by exiting with a status code of 1. func TestMainConfigFailure(t *testing.T) { - // Set the working directory to the project root. - cmd := exec.Command("go", "run", "./cmd/scrapeycli/main.go", "--config", "nonexistent.json") - cmd.Dir = "../.." - - output, err := cmd.CombinedOutput() - // The command should fail and exit with code 1. + _, err := runMainCommand(t, "--config", "nonexistent.json") if err == nil { - t.Fatalf("Expected failure due to config load error, but got success.\nOutput: %s", string(output)) + t.Fatalf("Expected failure due to config load error, but got success") } - // Check if the error is an ExitError and verify that the exit code is 1. + // Verify that the error is of type *exec.ExitError and that the exit code is 1. if exitErr, ok := err.(*exec.ExitError); ok { if exitErr.ExitCode() != 1 { t.Errorf("Expected exit code 1, got %d", exitErr.ExitCode()) @@ -43,3 +62,19 @@ func TestMainConfigFailure(t *testing.T) { t.Fatalf("Error was not of type *exec.ExitError: %v", err) } } + +// This test runs the main program with both a valid configuration file and a URL override parameter. +// It checks that the output includes the URL override message and that the overridden URL is displayed, +// confirming that the URL override branch in the code is executed. +func TestURLOverride(t *testing.T) { + output, err := runMainCommand(t, "--config", "configs/default.json", "--url", "https://example.org") + if err != nil { + t.Fatalf("Failed to run main.go with URL override: %v\nOutput: %s", err, output) + } + if !strings.Contains(output, "Overriding config with URL flag:") { + t.Errorf("Expected URL override message not found in output.\nOutput: %s", output) + } + if !strings.Contains(output, "https://example.org") { + t.Errorf("Expected overridden URL not found in output.\nOutput: %s", output) + } +} diff --git a/go.mod b/go.mod index 7a61092..d0924e3 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,4 @@ // File: go.mod - module github.com/heinrichb/scrapey-cli go 1.23.4 diff --git a/pkg/config/config.go b/pkg/config/config.go index 6ee8e3e..26ab26a 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -4,17 +4,18 @@ package config import ( "encoding/json" "fmt" - "github.com/fatih/color" "os" "reflect" + + "github.com/fatih/color" ) // Config holds configuration data. type Config struct { - URL string `json:"url,omitempty"` + URL string `json:"url,omitempty"` PARSERULES struct { - TITLE string `json:title,omitempty` - METADESCRIPTION string `json:metaDescription,omitempty` + TITLE string `json:"title,omitempty"` + METADESCRIPTION string `json:"metaDescription,omitempty"` } } @@ -25,7 +26,7 @@ func Load(filePath string) (*Config, error) { return nil, fmt.Errorf("config file %s does not exist", filePath) } - fmt.Printf("Loading config from %s\n", filePath) + fmt.Printf("%s%s\n", color.New(color.FgHiGreen).Sprint("Loaded config from: "), filePath) // Read the file contents using os.ReadFile (replacing deprecated ioutil.ReadFile). content, err := os.ReadFile(filePath) @@ -39,7 +40,7 @@ func Load(filePath string) (*Config, error) { return nil, fmt.Errorf("invalid JSON in config file: %v", err) } printNonEmptyFields("", cfg) - return &cfg, nil + return &cfg, nil } func printNonEmptyFields(prefix string, v interface{}) { @@ -65,4 +66,4 @@ func printNonEmptyFields(prefix string, v interface{}) { fmt.Println(color.New(color.FgHiYellow).Sprint(prefix+fieldName+":"), field.String()) } } -} \ No newline at end of file +} diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 2da0071..e077243 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -1,5 +1,4 @@ // File: pkg/config/config_test.go - package config import ( @@ -7,6 +6,9 @@ import ( "testing" ) +// TestLoadValidConfig creates a temporary file containing valid JSON configuration data, +// writes a valid URL value, and then attempts to load the configuration using Load. +// The test verifies that the returned Config object contains the expected URL. func TestLoadValidConfig(t *testing.T) { // Create a temporary file with valid JSON using os.CreateTemp. tmpFile, err := os.CreateTemp("", "valid_config_*.json") @@ -21,17 +23,20 @@ func TestLoadValidConfig(t *testing.T) { } tmpFile.Close() // Close the file so it can be read by Load. - // Attempt to load the config from the temporary file. + // Load the configuration from the temporary file. cfg, err := Load(tmpFile.Name()) if err != nil { t.Fatalf("Expected valid config, got error: %v", err) } + // Check that the URL in the configuration matches the expected value. if cfg.URL != "http://example.org" { t.Errorf("Expected URL 'http://example.org', got '%s'", cfg.URL) } } +// TestLoadNonexistentFile attempts to load a configuration from a file path that does not exist, +// and verifies that Load returns an error. func TestLoadNonexistentFile(t *testing.T) { // Attempt to load a config from a non-existent file. _, err := Load("nonexistent_file.json") @@ -40,6 +45,8 @@ func TestLoadNonexistentFile(t *testing.T) { } } +// TestLoadInvalidJSON creates a temporary file with invalid JSON content, +// then attempts to load the configuration. The test confirms that an error is returned due to invalid JSON. func TestLoadInvalidJSON(t *testing.T) { // Create a temporary file with invalid JSON using os.CreateTemp. tmpFile, err := os.CreateTemp("", "invalid_config_*.json") @@ -48,13 +55,14 @@ func TestLoadInvalidJSON(t *testing.T) { } defer os.Remove(tmpFile.Name()) - invalidJSON := `{"url": "http://example.org"` // Missing closing brace. + // Write invalid JSON (missing closing brace) into the temporary file. + invalidJSON := `{"url": "http://example.org"` if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { t.Fatalf("Failed to write to temp file: %v", err) } tmpFile.Close() - // Attempt to load the config from the temporary file. + // Attempt to load the configuration from the temporary file. _, err = Load(tmpFile.Name()) if err == nil { t.Fatalf("Expected error for invalid JSON, got nil") From 258e5d7b0bfadf9e5986663c35b8652dba88d228 Mon Sep 17 00:00:00 2001 From: dan-avel Date: Thu, 13 Feb 2025 23:53:46 -0500 Subject: [PATCH 12/47] CREATE UTILS PKG --- pkg/config/config.go | 59 +++----------------------------------------- pkg/utils/utils.go | 58 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 55 deletions(-) create mode 100644 pkg/utils/utils.go diff --git a/pkg/config/config.go b/pkg/config/config.go index c9187ef..3a70907 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -5,17 +5,16 @@ package config import ( "encoding/json" "fmt" - "github.com/fatih/color" "os" - "reflect" + "github.com/heinrichb/scrapey-cli/pkg/utils" ) // Config holds configuration data. type Config struct { URL string `json:"url,omitempty"` PARSERULES struct { - TITLE string `json:title,omitempty` - METADESCRIPTION string `json:metaDescription,omitempty` + TITLE string `json:"title,omitempty"` + METADESCRIPTION string `json:"metaDescription,omitempty"` } } @@ -39,56 +38,6 @@ func Load(filePath string) (*Config, error) { if err := json.Unmarshal(content, &cfg); err != nil { return nil, fmt.Errorf("invalid JSON in config file: %v", err) } - printNonEmptyFields("", cfg) + utils.PrintNonEmptyFields("", cfg) return &cfg, nil -} - -// printNonEmptyFields dynamically traverses a struct and prints its non-empty string fields. -// -// Parameters: -// - prefix: A string to prepend to the field name, used to represent nested struct hierarchy (e.g., "Parent.Child."). -// - v: The struct or pointer to a struct to be traversed and inspected. -// -// Usage: -// This function is useful for dynamically inspecting and displaying configurations or other data structures -// where the fields may be optional, and only non-empty values are of interest. -// -// Example: -// Given a struct: -// type Config struct { -// URL string -// Nested struct { -// Title string -// } -// } -// Calling printNonEmptyFields("", configInstance) will output: -// URL: http://example.com -// Nested.Title: Example Title -// -// Notes: -// - This function relies on the reflect package and assumes that the input is a struct or a pointer to a struct. -// - Only string fields are checked for non-emptiness; other types are ignored. -func printNonEmptyFields(prefix string, v interface{}) { - val := reflect.ValueOf(v) - - // Handle pointers or nested structs - if val.Kind() == reflect.Ptr { - val = val.Elem() - } - - typ := val.Type() - - // Iterate over fields - for i := 0; i < typ.NumField(); i++ { - field := val.Field(i) - fieldType := typ.Field(i) - fieldName := fieldType.Name - - // Handle nested structs - if field.Kind() == reflect.Struct { - printNonEmptyFields(prefix+fieldName+".", field.Interface()) - } else if field.Kind() == reflect.String && field.String() != "" { - fmt.Println(color.New(color.FgHiYellow).Sprint(prefix+fieldName+":"), field.String()) - } - } } \ No newline at end of file diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go new file mode 100644 index 0000000..c5d9049 --- /dev/null +++ b/pkg/utils/utils.go @@ -0,0 +1,58 @@ +// File: pkg/utils/utils.go + +package utils + +import ( + "fmt" + "reflect" + "github.com/fatih/color" +) +// PrintNonEmptyFields dynamically traverses a struct and prints its non-empty string fields. +// +// Parameters: +// - prefix: A string to prepend to the field name, used to represent nested struct hierarchy (e.g., "Parent.Child."). +// - v: The struct or pointer to a struct to be traversed and inspected. +// +// Usage: +// This function is useful for dynamically inspecting and displaying configurations or other data structures +// where the fields may be optional, and only non-empty values are of interest. +// +// Example: +// Given a struct: +// type Config struct { +// URL string +// Nested struct { +// Title string +// } +// } +// Calling PrintNonEmptyFields("", configInstance) will output: +// URL: http://example.com +// Nested.Title: Example Title +// +// Notes: +// - This function relies on the reflect package and assumes that the input is a struct or a pointer to a struct. +// - Only string fields are checked for non-emptiness; other types are ignored. +func PrintNonEmptyFields(prefix string, v interface{}) { + val := reflect.ValueOf(v) + + // Handle pointers or nested structs + if val.Kind() == reflect.Ptr { + val = val.Elem() + } + + typ := val.Type() + + // Iterate over fields + for i := 0; i < typ.NumField(); i++ { + field := val.Field(i) + fieldType := typ.Field(i) + fieldName := fieldType.Name + + // Handle nested structs + if field.Kind() == reflect.Struct { + PrintNonEmptyFields(prefix+fieldName+".", field.Interface()) + } else if field.Kind() == reflect.String && field.String() != "" { + fmt.Println(color.New(color.FgHiYellow).Sprint(prefix+fieldName+":"), field.String()) + } + } +} \ No newline at end of file From 6305f1e491e71c9c1386c7e598f4050254edf3fa Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 23:08:10 -0600 Subject: [PATCH 13/47] Updating code coverage badge. --- .github/workflows/ci.yml | 8 +++++++- Makefile | 7 +++---- README.md | 4 ++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b59ddbd..2c5133d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,4 +24,10 @@ jobs: run: go build ./... - name: 🧪 Test - run: go test -v ./... + run: go test -v ./... -coverprofile=coverage.out + + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v5 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.out diff --git a/Makefile b/Makefile index a5bc821..bf7d529 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # File: Makefile -.PHONY: build run +.PHONY: build run test # The binary target depends on all .go files, go.mod, and go.sum. # The find command collects all Go files in the project. @@ -13,7 +13,6 @@ build: $(shell find . -name '*.go') go.mod go.sum echo "No changes detected, skipping rebuild."; \ fi - CONFIG_FLAG = ifdef CONFIG CONFIG_FLAG := --config $(CONFIG) @@ -28,7 +27,7 @@ run: build ./build/scrapeycli $(CONFIG_FLAG) $(URL_FLAG) test: - @go test ./... + go test ./... -coverprofile=./coverage/coverage.txt @if [ -d test ] && ls test/*.go > /dev/null 2>&1; then \ - go test ./test; \ + go test ./test -coverprofile=./coverage/coverage.txt; \ fi diff --git a/README.md b/README.md index 5fa2151..5e3fc8e 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ # ✨ Scrapey CLI -[![Build & Test](https://github.com/heinrichb/scrapey-cli/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/heinrichb/scrapey-cli/actions/workflows/ci.yml) +[![Build & Test](https://github.com/heinrichb/scrapey-cli/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/heinrichb/scrapey-cli/actions/workflows/ci.yml) [![Go Reference](https://pkg.go.dev/badge/github.com/heinrichb/scrapey-cli.svg)](https://pkg.go.dev/github.com/heinrichb/scrapey-cli) -[![Coverage Status](https://img.shields.io/badge/coverage-0%25-red)](https://example.com/coverage) +[![codecov](https://codecov.io/gh/heinrichb/scrapey-cli/graph/badge.svg?token=P45PASDIKF)](https://codecov.io/gh/heinrichb/scrapey-cli) Scrapey CLI is a lightweight, configurable web crawler and scraper. It collects data from websites based on rules defined in a config file. It can handle HTML parsing, data extraction, and plans to offer multiple storage options (JSON, XML, Excel, databases, etc.). From efad1e166125a0cd91e4c3c895fae1851500fde4 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 23:15:35 -0600 Subject: [PATCH 14/47] FIxing code coverage for develop branch --- Makefile | 1 + README.md | 2 +- pkg/config/config.go | 87 ++++++++++++++++--------------- pkg/utils/utils.go | 121 ++++++++++++++++++++++--------------------- 4 files changed, 109 insertions(+), 102 deletions(-) diff --git a/Makefile b/Makefile index bf7d529..0fb29b9 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ # File: Makefile + .PHONY: build run test # The binary target depends on all .go files, go.mod, and go.sum. diff --git a/README.md b/README.md index 5e3fc8e..9eb77c3 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ # ✨ Scrapey CLI [![Build & Test](https://github.com/heinrichb/scrapey-cli/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/heinrichb/scrapey-cli/actions/workflows/ci.yml) +[![codecov](https://codecov.io/gh/heinrichb/scrapey-cli/branch/develop/graph/badge.svg?token=P45PASDIKF)](https://codecov.io/gh/heinrichb/scrapey-cli) [![Go Reference](https://pkg.go.dev/badge/github.com/heinrichb/scrapey-cli.svg)](https://pkg.go.dev/github.com/heinrichb/scrapey-cli) -[![codecov](https://codecov.io/gh/heinrichb/scrapey-cli/graph/badge.svg?token=P45PASDIKF)](https://codecov.io/gh/heinrichb/scrapey-cli) Scrapey CLI is a lightweight, configurable web crawler and scraper. It collects data from websites based on rules defined in a config file. It can handle HTML parsing, data extraction, and plans to offer multiple storage options (JSON, XML, Excel, databases, etc.). diff --git a/pkg/config/config.go b/pkg/config/config.go index 1cf10ae..b721c3e 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -1,43 +1,44 @@ -// File: pkg/config/config.go -package config - -import ( - "encoding/json" - "fmt" - "github.com/fatih/color" - "github.com/heinrichb/scrapey-cli/pkg/utils" - "os" -) - -// Config holds configuration data. -type Config struct { - URL string `json:"url,omitempty"` - PARSERULES struct { - TITLE string `json:"title,omitempty"` - METADESCRIPTION string `json:"metaDescription,omitempty"` - } -} - -// Load reads config from the specified filePath. -// Returns an error if the file does not exist or if the JSON is invalid. -func Load(filePath string) (*Config, error) { - if _, err := os.Stat(filePath); os.IsNotExist(err) { - return nil, fmt.Errorf("config file %s does not exist", filePath) - } - - fmt.Printf("%s%s\n", color.New(color.FgHiGreen).Sprint("Loaded config from: "), filePath) - - // Read the file contents using os.ReadFile (replacing deprecated ioutil.ReadFile). - content, err := os.ReadFile(filePath) - if err != nil { - return nil, fmt.Errorf("failed to read config file: %v", err) - } - - // Unmarshal the JSON into a Config struct. - var cfg Config - if err := json.Unmarshal(content, &cfg); err != nil { - return nil, fmt.Errorf("invalid JSON in config file: %v", err) - } - utils.PrintNonEmptyFields("", cfg) - return &cfg, nil -} +// File: pkg/config/config.go +package config + +import ( + "encoding/json" + "fmt" + "os" + + "github.com/fatih/color" + "github.com/heinrichb/scrapey-cli/pkg/utils" +) + +// Config holds configuration data. +type Config struct { + URL string `json:"url,omitempty"` + PARSERULES struct { + TITLE string `json:"title,omitempty"` + METADESCRIPTION string `json:"metaDescription,omitempty"` + } +} + +// Load reads config from the specified filePath. +// Returns an error if the file does not exist or if the JSON is invalid. +func Load(filePath string) (*Config, error) { + if _, err := os.Stat(filePath); os.IsNotExist(err) { + return nil, fmt.Errorf("config file %s does not exist", filePath) + } + + fmt.Printf("%s%s\n", color.New(color.FgHiGreen).Sprint("Loaded config from: "), filePath) + + // Read the file contents using os.ReadFile (replacing deprecated ioutil.ReadFile). + content, err := os.ReadFile(filePath) + if err != nil { + return nil, fmt.Errorf("failed to read config file: %v", err) + } + + // Unmarshal the JSON into a Config struct. + var cfg Config + if err := json.Unmarshal(content, &cfg); err != nil { + return nil, fmt.Errorf("invalid JSON in config file: %v", err) + } + utils.PrintNonEmptyFields("", cfg) + return &cfg, nil +} diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index e2d153f..10902d6 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -1,58 +1,63 @@ -// File: pkg/utils/utils.go - -package utils - -import ( - "fmt" - "github.com/fatih/color" - "reflect" -) -// PrintNonEmptyFields dynamically traverses a struct and prints its non-empty string fields. -// -// Parameters: -// - prefix: A string to prepend to the field name, used to represent nested struct hierarchy (e.g., "Parent.Child."). -// - v: The struct or pointer to a struct to be traversed and inspected. -// -// Usage: -// This function is useful for dynamically inspecting and displaying configurations or other data structures -// where the fields may be optional, and only non-empty values are of interest. -// -// Example: -// Given a struct: -// type Config struct { -// URL string -// Nested struct { -// Title string -// } -// } -// Calling PrintNonEmptyFields("", configInstance) will output: -// URL: http://example.com -// Nested.Title: Example Title -// -// Notes: -// - This function relies on the reflect package and assumes that the input is a struct or a pointer to a struct. -// - Only string fields are checked for non-emptiness; other types are ignored. -func PrintNonEmptyFields(prefix string, v interface{}) { - val := reflect.ValueOf(v) - - // Handle pointers or nested structs - if val.Kind() == reflect.Ptr { - val = val.Elem() - } - - typ := val.Type() - - // Iterate over fields - for i := 0; i < typ.NumField(); i++ { - field := val.Field(i) - fieldType := typ.Field(i) - fieldName := fieldType.Name - - // Handle nested structs - if field.Kind() == reflect.Struct { - PrintNonEmptyFields(prefix+fieldName+".", field.Interface()) - } else if field.Kind() == reflect.String && field.String() != "" { - fmt.Println(color.New(color.FgHiYellow).Sprint(prefix+fieldName+":"), field.String()) - } - } -} \ No newline at end of file +// File: pkg/utils/utils.go + +package utils + +import ( + "fmt" + "reflect" + + "github.com/fatih/color" +) + +// PrintNonEmptyFields dynamically traverses a struct and prints its non-empty string fields. +// +// Parameters: +// - prefix: A string to prepend to the field name, used to represent nested struct hierarchy (e.g., "Parent.Child."). +// - v: The struct or pointer to a struct to be traversed and inspected. +// +// Usage: +// This function is useful for dynamically inspecting and displaying configurations or other data structures +// where the fields may be optional, and only non-empty values are of interest. +// +// Example: +// Given a struct: +// +// type Config struct { +// URL string +// Nested struct { +// Title string +// } +// } +// +// Calling PrintNonEmptyFields("", configInstance) will output: +// +// URL: http://example.com +// Nested.Title: Example Title +// +// Notes: +// - This function relies on the reflect package and assumes that the input is a struct or a pointer to a struct. +// - Only string fields are checked for non-emptiness; other types are ignored. +func PrintNonEmptyFields(prefix string, v interface{}) { + val := reflect.ValueOf(v) + + // Handle pointers or nested structs + if val.Kind() == reflect.Ptr { + val = val.Elem() + } + + typ := val.Type() + + // Iterate over fields + for i := 0; i < typ.NumField(); i++ { + field := val.Field(i) + fieldType := typ.Field(i) + fieldName := fieldType.Name + + // Handle nested structs + if field.Kind() == reflect.Struct { + PrintNonEmptyFields(prefix+fieldName+".", field.Interface()) + } else if field.Kind() == reflect.String && field.String() != "" { + fmt.Println(color.New(color.FgHiYellow).Sprint(prefix+fieldName+":"), field.String()) + } + } +} From 0b28828234a86ad9a79c977a46023bb076d4dd91 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 23:22:54 -0600 Subject: [PATCH 15/47] Updating CI --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2c5133d..c2b01fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,6 +9,7 @@ on: jobs: build-and-test: + name: 🔨 Build and Test runs-on: ubuntu-latest steps: @@ -20,13 +21,13 @@ jobs: with: go-version: "1.23" - - name: 🏃 Build + - name: 🛠️ Build run: go build ./... - name: 🧪 Test run: go test -v ./... -coverprofile=coverage.out - - name: Upload coverage reports to Codecov + - name: 📤 Upload Coverage Reports to Codecov uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }} From 65714f39ceb8922c06324745e6614be8179357a8 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Thu, 13 Feb 2025 23:43:30 -0600 Subject: [PATCH 16/47] Updated README project structure. Removed redundant comments. --- .gitignore | 12 +++++----- README.md | 38 +++++++++++++++-------------- pkg/utils/utils.go | 59 +++++++++++++++++++++++----------------------- 3 files changed, 56 insertions(+), 53 deletions(-) diff --git a/.gitignore b/.gitignore index ce68cb8..bd43564 100644 --- a/.gitignore +++ b/.gitignore @@ -7,19 +7,19 @@ *.dylib # Build artifacts and local bin directories -bin/ -build/ -dist/ +bin +build +dist # Test binaries (built with `go test -c`) *.test # Output of the go coverage tool *.out -coverage/ +coverage # Dependency directories -vendor/ +vendor # Go workspace files go.work @@ -27,7 +27,7 @@ go.work.sum # Editor/OS-specific .DS_Store -.idea/ +.idea # Environment variables .env \ No newline at end of file diff --git a/README.md b/README.md index 9eb77c3..740c28a 100644 --- a/README.md +++ b/README.md @@ -72,34 +72,36 @@ Scrapey CLI is a lightweight, configurable web crawler and scraper. It collects ``` scrapey-cli/ -├── .github/ # GitHub-specific configurations +├── .github/ │ └── workflows/ -│ └── ci.yml # GitHub Actions CI/CD pipeline configuration -├── .vscode/ # VS Code settings -│ └── settings.json # Editor settings (format on save for Go) -├── build/ # Build scripts, Dockerfiles, etc. +│ └── ci.yml +├── .vscode/ +│ └── settings.json # VS Code settings (format on save for Go) ├── cmd/ -│ └── scrapeycli/ # CLI application entry point -│ └── main.go # Main Go file for Scrapey CLI +│ └── scrapeycli/ +│ └── main.go ├── configs/ │ └── default.json # Default/example configuration file ├── docs/ # Project documentation -├── pkg/ # Public packages for external use +├── pkg/ │ ├── config/ -│ │ └── config.go # Config loading logic (stubbed) +│ │ └── config.go # Config loading logic │ ├── crawler/ -│ │ └── crawler.go # Core web crawling logic (stubbed) +│ │ └── crawler.go # Core web crawling logic │ ├── parser/ -│ │ └── parser.go # HTML parsing logic (stubbed) -│ └── storage/ -│ └── storage.go # Storage logic (stubbed for JSON and others) +│ │ └── parser.go # HTML parsing logic +│ ├── storage/ +│ │ └── storage.go # Storage logic +│ └── utils/ +│ └── utils.go # Utility functions ├── test/ # Optional integration tests -├── .gitignore # Git ignore file +├── .gitignore ├── LICENSE # MIT License file -├── Makefile # Build & run script for CLI -├── go.mod # Go module file -├── go.sum # Go module checksum file -└── README.md # Project README +├── Makefile # Build & run script for CLI (includes targets for build, run, and test) +├── go.mod +├── go.sum +└── README.md + ``` --- diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index 10902d6..b66d4ad 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -1,5 +1,4 @@ // File: pkg/utils/utils.go - package utils import ( @@ -9,34 +8,36 @@ import ( "github.com/fatih/color" ) -// PrintNonEmptyFields dynamically traverses a struct and prints its non-empty string fields. -// -// Parameters: -// - prefix: A string to prepend to the field name, used to represent nested struct hierarchy (e.g., "Parent.Child."). -// - v: The struct or pointer to a struct to be traversed and inspected. -// -// Usage: -// This function is useful for dynamically inspecting and displaying configurations or other data structures -// where the fields may be optional, and only non-empty values are of interest. -// -// Example: -// Given a struct: -// -// type Config struct { -// URL string -// Nested struct { -// Title string -// } -// } -// -// Calling PrintNonEmptyFields("", configInstance) will output: -// -// URL: http://example.com -// Nested.Title: Example Title -// -// Notes: -// - This function relies on the reflect package and assumes that the input is a struct or a pointer to a struct. -// - Only string fields are checked for non-emptiness; other types are ignored. +/* + PrintNonEmptyFields dynamically traverses a struct and prints its non-empty string fields. + +Parameters: +- prefix: A string to prepend to the field name, used to represent nested struct hierarchy (e.g., "Parent.Child."). +- v: The struct or pointer to a struct to be traversed and inspected. + +Usage: +This function is useful for dynamically inspecting and displaying configurations or other data structures +where the fields may be optional, and only non-empty values are of interest. + +Example: +Given a struct: + + type Config struct { + URL string + Nested struct { + Title string + } + } + +Calling PrintNonEmptyFields("", configInstance) will output: + + URL: http://example.com + Nested.Title: Example Title + +Notes: +- This function relies on the reflect package and assumes that the input is a struct or a pointer to a struct. +- Only string fields are checked for non-emptiness; other types are ignored. +*/ func PrintNonEmptyFields(prefix string, v interface{}) { val := reflect.ValueOf(v) From 0827b4b4ae7dc03249696bc547f4b6efb7d01831 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Fri, 14 Feb 2025 02:00:10 -0600 Subject: [PATCH 17/47] Comment consistency, and updated to Makefile. --- .github/workflows/ci.yml | 9 ++ Makefile | 28 ++++-- cmd/scrapeycli/main.go | 49 ++++++---- cmd/scrapeycli/main_test.go | 48 +++++++--- pkg/config/config.go | 51 +++++++++-- pkg/config/config_test.go | 22 +++-- pkg/crawler/crawler.go | 51 +++++++++-- pkg/parser/parser.go | 29 +++++- pkg/storage/storage.go | 44 ++++++++- pkg/utils/printcolor.go | 168 +++++++++++++++++++++++++++++++++++ pkg/utils/printcolor_test.go | 143 +++++++++++++++++++++++++++++ pkg/utils/utils.go | 49 +++++----- 12 files changed, 604 insertions(+), 87 deletions(-) create mode 100644 pkg/utils/printcolor.go create mode 100644 pkg/utils/printcolor_test.go diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c2b01fe..39814e5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,5 @@ # File: .github/workflows/ci.yml + name: CI on: @@ -21,6 +22,14 @@ jobs: with: go-version: "1.23" + - name: 📦 Check go.sum consistency + run: | + go mod tidy + if ! git diff --exit-code go.sum; then + echo "go.sum is not up-to-date. Please run 'go mod tidy' and commit the changes." + exit 1 + fi + - name: 🛠️ Build run: go build ./... diff --git a/Makefile b/Makefile index 0fb29b9..f6d9977 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,18 @@ # File: Makefile -.PHONY: build run test +.PHONY: build run test install -# The binary target depends on all .go files, go.mod, and go.sum. -# The find command collects all Go files in the project. -build: $(shell find . -name '*.go') go.mod go.sum +install: + go mod tidy + @if ! git diff --exit-code go.sum; then \ + echo "go.sum is not up-to-date. Please commit the changes to go.sum."; \ + exit 1; \ + fi + +build: install $(shell find . -name '*.go') go.mod go.sum @mkdir -p build @if [ ! -f build/.stamp ] || [ -n "$$(find . -name '*.go' -newer build/.stamp)" ] || [ go.mod -nt build/.stamp ] || [ go.sum -nt build/.stamp ]; then \ echo "Changes detected, rebuilding..."; \ - go mod tidy; \ go build -o build/scrapeycli ./cmd/scrapeycli && touch build/.stamp; \ else \ echo "No changes detected, skipping rebuild."; \ @@ -28,7 +32,13 @@ run: build ./build/scrapeycli $(CONFIG_FLAG) $(URL_FLAG) test: - go test ./... -coverprofile=./coverage/coverage.txt - @if [ -d test ] && ls test/*.go > /dev/null 2>&1; then \ - go test ./test -coverprofile=./coverage/coverage.txt; \ - fi + @if ! command -v gotestsum >/dev/null 2>&1; then \ + echo "gotestsum not found, installing..."; \ + go install gotest.tools/gotestsum@latest; \ + fi; \ + gotestsum --format short-verbose ./... -- -coverprofile=./coverage/coverage.txt; \ + if [ -d test ] && ls test/*.go > /dev/null 2>&1; then \ + gotestsum --format short-verbose ./test -- -coverprofile=./coverage/coverage.txt; \ + fi; \ + # Print a coverage summary using go tool cover. + go tool cover -func=./coverage/coverage.txt diff --git a/cmd/scrapeycli/main.go b/cmd/scrapeycli/main.go index fd5dd51..7a5b4f5 100644 --- a/cmd/scrapeycli/main.go +++ b/cmd/scrapeycli/main.go @@ -1,57 +1,74 @@ // File: cmd/scrapeycli/main.go + package main import ( "flag" - "fmt" "os" "github.com/fatih/color" "github.com/heinrichb/scrapey-cli/pkg/config" + "github.com/heinrichb/scrapey-cli/pkg/utils" ) +/* +Global variables for storing command-line arguments. + +- configPath: The path to the configuration file. +- url: The URL to be scraped, which may override the URL in the config. +*/ var ( configPath string url string ) +/* +init registers command-line flags for configuration. + +It sets up two flags for the config file ("config" and its shorthand "c") +and a flag for the URL override. +*/ func init() { - // Two flags for config (-config and -c) so user can choose either flag.StringVar(&configPath, "config", "", "Path to config file") flag.StringVar(&configPath, "c", "", "Path to config file (shorthand)") - - // Flag for URL flag.StringVar(&url, "url", "", "URL to scrape (overrides config)") } +/* +main is the entry point of Scrapey CLI. + +It parses command-line flags, prints a welcome message, loads the configuration, +handles URL overrides, and prints confirmation messages for each step. +*/ func main() { - // Parse CLI flags + // Parse CLI flags. flag.Parse() - // Print a colored welcome message - color.Cyan("Welcome to Scrapey CLI!") + // Print a welcome message in cyan using our PrintColored utility. + utils.PrintColored("Welcome to Scrapey CLI!", "", color.FgCyan) - // If no config path is provided, we can optionally default to something: + // Default to "configs/default.json" if no config path is provided. if configPath == "" { configPath = "configs/default.json" } - // Attempt to load config + // Attempt to load the configuration from the specified file. cfg, err := config.Load(configPath) if err != nil { - color.Red("Failed to load config: %v", err) + // If loading fails, print an error message in red and exit. + utils.PrintColored("Failed to load config: ", err.Error(), color.FgRed) os.Exit(1) } - // If user supplied a URL, override config + // If a URL is provided via the command line, override the configuration's URL. if url != "" { - fmt.Printf("%s%s\n", color.New(color.FgHiMagenta).Sprint("Overriding config with URL flag: "), url) + utils.PrintColored("Overriding config with URL flag: ", url, color.FgHiMagenta) cfg.URL = url } - // Another colored message to confirm it's loaded - fmt.Printf("%s%s\n", color.New(color.FgHiGreen).Sprint("Loaded config from: "), configPath) + // Print a confirmation message in high-intensity green indicating successful config load. + utils.PrintColored("Loaded config from: ", configPath, color.FgHiGreen) - // Indicate successful finish for now - color.Green("Scrapey CLI initialization complete.") + // Indicate that initialization is complete by printing a success message in green. + utils.PrintColored("Scrapey CLI initialization complete.", "", color.FgGreen) } diff --git a/cmd/scrapeycli/main_test.go b/cmd/scrapeycli/main_test.go index bc6ca95..51c1c59 100644 --- a/cmd/scrapeycli/main_test.go +++ b/cmd/scrapeycli/main_test.go @@ -1,4 +1,5 @@ // File: cmd/scrapeycli/main_test.go + package main import ( @@ -8,9 +9,19 @@ import ( "testing" ) -// runMainCommand is a helper function that executes main.go with the provided arguments. -// It sets the working directory to the project root (two levels up from cmd/scrapeycli/) -// and returns the combined output along with any error. +/* +runMainCommand is a helper function that executes main.go with the provided arguments. +It sets the working directory to the project root (two levels up from cmd/scrapeycli/) +and returns the combined output along with any error. + +Parameters: + - t: The current testing context (not used directly, but conforms to typical test helper function signatures). + - args: A variadic list of arguments to be passed to the go run command. + +Usage: + + output, err := runMainCommand(t, "--config", "configs/default.json") +*/ func runMainCommand(_ *testing.T, args ...string) (string, error) { cmd := exec.Command("go", append([]string{"run", "./cmd/scrapeycli/main.go"}, args...)...) cmd.Dir = "../.." // Set working directory to project root. @@ -18,8 +29,14 @@ func runMainCommand(_ *testing.T, args ...string) (string, error) { return string(output), err } -// This test verifies that all necessary command-line flags are properly registered. -// The application depends on these flags to receive configuration input and URL overrides. +/* +TestFlagRegistration verifies that all necessary command-line flags are properly registered. +The application depends on these flags for configuration input and URL overrides. + +Checks: + - "config" and "c" flags + - "url" flag +*/ func TestFlagRegistration(t *testing.T) { if f := flag.Lookup("config"); f == nil { t.Error("Expected flag 'config' to be registered") @@ -32,8 +49,10 @@ func TestFlagRegistration(t *testing.T) { } } -// This test executes the main program with a valid configuration file. -// It verifies that the program initializes correctly by checking for the welcome message in the output. +/* +TestMainExecution runs the main program with a valid configuration file and checks for +the welcome message ("Welcome to Scrapey CLI!") in the output. +*/ func TestMainExecution(t *testing.T) { output, err := runMainCommand(t, "--config", "configs/default.json") if err != nil { @@ -45,15 +64,16 @@ func TestMainExecution(t *testing.T) { } } -// This test simulates a configuration load failure by providing a non-existent config file. -// It confirms that the program correctly handles the error by exiting with a status code of 1. +/* +TestMainConfigFailure simulates a config load failure by specifying a non-existent file. +It checks that the program exits with code 1, indicating proper error handling. +*/ func TestMainConfigFailure(t *testing.T) { _, err := runMainCommand(t, "--config", "nonexistent.json") if err == nil { t.Fatalf("Expected failure due to config load error, but got success") } - // Verify that the error is of type *exec.ExitError and that the exit code is 1. if exitErr, ok := err.(*exec.ExitError); ok { if exitErr.ExitCode() != 1 { t.Errorf("Expected exit code 1, got %d", exitErr.ExitCode()) @@ -63,9 +83,11 @@ func TestMainConfigFailure(t *testing.T) { } } -// This test runs the main program with both a valid configuration file and a URL override parameter. -// It checks that the output includes the URL override message and that the overridden URL is displayed, -// confirming that the URL override branch in the code is executed. +/* +TestURLOverride runs the main program with a valid config file and a URL override flag. +It verifies that the output includes the URL override message and that the overridden +URL is displayed, confirming the override branch is executed. +*/ func TestURLOverride(t *testing.T) { output, err := runMainCommand(t, "--config", "configs/default.json", "--url", "https://example.org") if err != nil { diff --git a/pkg/config/config.go b/pkg/config/config.go index b721c3e..c6eb571 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -1,4 +1,5 @@ // File: pkg/config/config.go + package config import ( @@ -10,35 +11,71 @@ import ( "github.com/heinrichb/scrapey-cli/pkg/utils" ) -// Config holds configuration data. +/* +Config holds configuration data used by Scrapey CLI. + +Fields: + - URL: The URL to be scraped. + - PARSERULES: A nested struct containing parsing rules. + - TITLE: The CSS selector for extracting the title. + - METADESCRIPTION: The CSS selector for extracting the meta description. + +Usage: + + The configuration is loaded from a JSON file to guide the crawler and parser. +*/ type Config struct { URL string `json:"url,omitempty"` PARSERULES struct { TITLE string `json:"title,omitempty"` METADESCRIPTION string `json:"metaDescription,omitempty"` - } + } `json:"parseRules,omitempty"` } -// Load reads config from the specified filePath. -// Returns an error if the file does not exist or if the JSON is invalid. +/* +Load reads configuration data from the specified filePath. + +Parameters: + - filePath: The path to the JSON configuration file. + +Returns: + - A pointer to a Config struct containing the parsed configuration. + - An error if the file does not exist, cannot be read, or if the JSON is invalid. + +Usage: + + cfg, err := Load("configs/default.json") + if err != nil { + // Handle error + } + // Use cfg to configure the application. + +Notes: + - This function uses os.ReadFile to read the file. + - It prints a confirmation message in high-intensity green using the PrintColored utility. + - It then calls PrintNonEmptyFields from the utils package to display non-empty config fields. +*/ func Load(filePath string) (*Config, error) { if _, err := os.Stat(filePath); os.IsNotExist(err) { return nil, fmt.Errorf("config file %s does not exist", filePath) } - fmt.Printf("%s%s\n", color.New(color.FgHiGreen).Sprint("Loaded config from: "), filePath) + // Print confirmation that the config was loaded, using our PrintColored utility. + utils.PrintColored("Loaded config from: ", filePath, color.FgHiGreen) - // Read the file contents using os.ReadFile (replacing deprecated ioutil.ReadFile). + // Read file contents using os.ReadFile. content, err := os.ReadFile(filePath) if err != nil { return nil, fmt.Errorf("failed to read config file: %v", err) } - // Unmarshal the JSON into a Config struct. + // Unmarshal JSON into a Config struct. var cfg Config if err := json.Unmarshal(content, &cfg); err != nil { return nil, fmt.Errorf("invalid JSON in config file: %v", err) } + + // Print non-empty configuration fields using a utility function. utils.PrintNonEmptyFields("", cfg) return &cfg, nil } diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index e077243..dbc0559 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -1,4 +1,5 @@ // File: pkg/config/config_test.go + package config import ( @@ -6,9 +7,11 @@ import ( "testing" ) -// TestLoadValidConfig creates a temporary file containing valid JSON configuration data, -// writes a valid URL value, and then attempts to load the configuration using Load. -// The test verifies that the returned Config object contains the expected URL. +/* +TestLoadValidConfig creates a temporary file with valid JSON configuration data, writes a valid URL value, +and attempts to load the configuration using Load. It verifies that the returned Config object contains the +expected URL. +*/ func TestLoadValidConfig(t *testing.T) { // Create a temporary file with valid JSON using os.CreateTemp. tmpFile, err := os.CreateTemp("", "valid_config_*.json") @@ -35,8 +38,10 @@ func TestLoadValidConfig(t *testing.T) { } } -// TestLoadNonexistentFile attempts to load a configuration from a file path that does not exist, -// and verifies that Load returns an error. +/* +TestLoadNonexistentFile attempts to load a configuration from a non-existent file and verifies that +Load returns an error. +*/ func TestLoadNonexistentFile(t *testing.T) { // Attempt to load a config from a non-existent file. _, err := Load("nonexistent_file.json") @@ -45,8 +50,10 @@ func TestLoadNonexistentFile(t *testing.T) { } } -// TestLoadInvalidJSON creates a temporary file with invalid JSON content, -// then attempts to load the configuration. The test confirms that an error is returned due to invalid JSON. +/* +TestLoadInvalidJSON creates a temporary file with invalid JSON content (missing a closing brace) and attempts +to load the configuration. The test confirms that an error is returned due to invalid JSON. +*/ func TestLoadInvalidJSON(t *testing.T) { // Create a temporary file with invalid JSON using os.CreateTemp. tmpFile, err := os.CreateTemp("", "invalid_config_*.json") @@ -55,7 +62,6 @@ func TestLoadInvalidJSON(t *testing.T) { } defer os.Remove(tmpFile.Name()) - // Write invalid JSON (missing closing brace) into the temporary file. invalidJSON := `{"url": "http://example.org"` if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { t.Fatalf("Failed to write to temp file: %v", err) diff --git a/pkg/crawler/crawler.go b/pkg/crawler/crawler.go index 1fa951a..a5780a4 100644 --- a/pkg/crawler/crawler.go +++ b/pkg/crawler/crawler.go @@ -1,20 +1,57 @@ // File: pkg/crawler/crawler.go + package crawler -// Crawler is responsible for fetching HTML content from URLs. -// Will possibly handle concurrency, rate-limits, etc. later. +/* +Crawler is responsible for fetching HTML content from URLs. + +Usage: + + Create an instance of Crawler using New() and then call FetchURL + to retrieve the HTML content from a specified URL. + +Notes: + - This implementation is currently a stub. + - Future enhancements may include handling HTTP GET requests, + concurrency, rate-limiting, timeouts, retries, and robust error handling. +*/ type Crawler struct { - // We might store config references or concurrency settings here. + // Fields for storing configuration or concurrency settings can be added here. } -// New returns a new instance of Crawler. +/* +New returns a new instance of Crawler. + +Usage: + + c := New() +*/ func New() *Crawler { return &Crawler{} } -// FetchURL fetches the contents of a given URL. -// We'll eventually handle HTTP GET requests, timeouts, retries, etc. +/* +FetchURL retrieves the HTML content from the specified URL. + +Parameters: + - url: A string representing the URL to fetch. + +Returns: + - A string containing the HTML content (if successful) or an empty string. + - An error if the fetch operation fails. + +Usage: + + content, err := c.FetchURL("http://example.com") + if err != nil { + // Handle error. + } + +Notes: + - This function is currently a stub and returns an empty string with a nil error. + - Future implementations will include actual HTTP request handling. +*/ func (c *Crawler) FetchURL(url string) (string, error) { - // Stub: return placeholder HTML or empty string for now + // Stub: return placeholder HTML or empty string for now. return "", nil } diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index 77cbd39..e146a68 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -1,8 +1,33 @@ // File: pkg/parser/parser.go + package parser -// ParseHTML analyzes HTML content and extracts data based on config or rules. -// We'll expand this to handle specific selectors, attributes, etc. +/* +ParseHTML analyzes HTML content and extracts data based on configuration or rules. + +Parameters: + - htmlContent: A string containing the HTML to be parsed. + +Returns: + - A map with string keys and values representing the extracted data. + - An error if parsing fails. + +Usage: + + This function is currently a stub. In the future, it will be expanded to handle specific + selectors, attributes, and more complex parsing logic to extract meaningful data from HTML. + +Example: + + data, err := ParseHTML("...") + if err != nil { + // Handle error + } + // Use the extracted data from 'data' + +Notes: + - For now, the function returns an empty map and a nil error. +*/ func ParseHTML(htmlContent string) (map[string]string, error) { // Stub: for now, just return an empty map return map[string]string{}, nil diff --git a/pkg/storage/storage.go b/pkg/storage/storage.go index 5f4e0bb..e9adc8b 100644 --- a/pkg/storage/storage.go +++ b/pkg/storage/storage.go @@ -1,7 +1,22 @@ // File: pkg/storage/storage.go + package storage -// StorageOption enumerates the types of storage we might support. +/* +StorageOption enumerates the types of storage we might support. + +Constants: + + JSON - Data stored in JSON format. + XML - Data stored in XML format. + Excel - Data stored in Excel format. + MongoDB - Data stored in a MongoDB database. + MySQL - Data stored in a MySQL database. + +Usage: + + These constants are used with SaveData to specify the desired output format. +*/ type StorageOption int const ( @@ -12,8 +27,31 @@ const ( MySQL ) -// SaveData will eventually accept the extracted data and store it in various formats. -// This could later become multiple functions or a strategy pattern. +/* +SaveData accepts extracted data as a map of strings and stores it in the format specified +by the option parameter. + +Parameters: + - data: A map where each key/value pair represents a piece of extracted data. + - option: A StorageOption value indicating the format in which to store the data. + +Usage: + + This function serves as a placeholder for future storage implementations. + It may later be extended into a strategy pattern to support multiple storage formats, + such as JSON, XML, Excel, MongoDB, or MySQL. + +Example: + + err := SaveData(myData, JSON) + if err != nil { + // Handle the error accordingly. + } + +Notes: + - Currently, this function is a stub and does not perform any storage operations. + - It always returns nil. +*/ func SaveData(data map[string]string, option StorageOption) error { // Stub: for now, do nothing. return nil diff --git a/pkg/utils/printcolor.go b/pkg/utils/printcolor.go new file mode 100644 index 0000000..15547e3 --- /dev/null +++ b/pkg/utils/printcolor.go @@ -0,0 +1,168 @@ +// File: pkg/utils/printcolor.go + +package utils + +import ( + "fmt" + "io" + "os" + "reflect" + + "github.com/fatih/color" +) + +/* +FprintColored writes a colored line to the provided writer. + +Parameters: + - w: An io.Writer where the output will be written. + - prefix: The string to be printed in the specified color (or white if no color is provided). + - secondary: The string printed immediately after the colored prefix in default formatting. + - attrs: A variadic parameter of color attributes. If none are provided, white is used. + +Usage: + + FprintColored(os.Stdout, "Loaded config from: ", configPath, color.FgHiGreen) + +Notes: + + If 'secondary' is empty, only the colored prefix is printed. +*/ +func FprintColored(w io.Writer, prefix, secondary string, attrs ...color.Attribute) { + var c *color.Color + if len(attrs) > 0 { + c = color.New(attrs...) + } else { + c = color.New(color.FgWhite) + } + if secondary != "" { + fmt.Fprintf(w, "%s%s\n", c.Sprint(prefix), secondary) + } else { + fmt.Fprintln(w, c.Sprint(prefix)) + } +} + +/* +PrintColoredDynamic writes multiple colored string segments to the provided writer on the same line. + +Parameters: + - w: An io.Writer where the output will be written. + - texts: A slice of strings to be printed sequentially. + - colors: A slice of color attributes corresponding to each text segment. + +Behavior: + - For each text, if a color is specified at that index, that color is used. + - If there are more texts than colors, the last provided color is used for the remaining texts. + - All text segments are printed on the same line, and a newline is added at the end. +*/ +func FprintColoredDynamic(w io.Writer, texts []string, colors []color.Attribute) { + for i, text := range texts { + var attr color.Attribute + if i < len(colors) { + attr = colors[i] + } else if len(colors) > 0 { + attr = colors[len(colors)-1] + } else { + attr = color.FgWhite + } + fmt.Fprint(w, color.New(attr).Sprint(text)) + } + fmt.Fprintln(w) +} + +/* +PrintColoredDynamicToStdout is a convenience function that writes dynamic colored output to os.Stdout. + +Usage: + + PrintColoredDynamicToStdout([]string{"One ", "Two ", "Three "}, []color.Attribute{color.FgRed, color.FgGreen, color.FgBlue}) +*/ +func PrintColoredDynamicToStdout(texts []string, colors []color.Attribute) { + FprintColoredDynamic(os.Stdout, texts, colors) +} + +/* +PrintColored is the main exported function for this util. It dynamically determines how to print colored output based on the arguments provided. + +Usage: + 1. To print a simple colored line with a prefix and secondary text: + PrintColored("Prefix: ", "Secondary", color.FgHiGreen) + 2. To print a single string in a default color: + PrintColored("Just a string") + 3. To print multiple segments with individual colors: + PrintColored([]string{"Segment1 ", "Segment2 ", "Segment3"}, + []color.Attribute{color.FgHiGreen, color.FgHiMagenta}) + +Behavior: + - If the first argument is a []string, it expects the second argument to be a []color.Attribute and calls the dynamic multi-segment printer. + - Otherwise, if the first argument is a string: + - With only one argument, it prints that string in white. + - With two arguments (both strings), it prints the first string in white followed by the second string in default formatting. + - With additional arguments of type color.Attribute, it uses those attributes to color the prefix. +*/ +func PrintColored(args ...interface{}) { + // No arguments: nothing to print. + if len(args) == 0 { + return + } + + // Check if the first argument is a slice of strings. + if texts, ok := args[0].([]string); ok { + // Expect a second argument as []color.Attribute, if provided. + var colors []color.Attribute + if len(args) > 1 { + if cols, ok := args[1].([]color.Attribute); ok { + colors = cols + } + } + // Use the dynamic printing function. + PrintColoredDynamicToStdout(texts, colors) + return + } + + // Otherwise, assume the first argument is a string. + prefix, ok := args[0].(string) + if !ok { + // If not, do nothing. + return + } + + // Determine the secondary string. + secondary := "" + if len(args) >= 2 { + if sec, ok := args[1].(string); ok { + secondary = sec + } + } + + // Gather any color attributes passed. + var attrs []color.Attribute + if len(args) > 2 { + // Iterate over the remaining arguments. + for _, arg := range args[2:] { + // Use reflection to support both a single color or a slice of colors. + v := reflect.ValueOf(arg) + switch v.Kind() { + case reflect.Slice: + for i := 0; i < v.Len(); i++ { + item := v.Index(i).Interface() + if attr, ok := item.(color.Attribute); ok { + attrs = append(attrs, attr) + } + } + default: + if attr, ok := arg.(color.Attribute); ok { + attrs = append(attrs, attr) + } + } + } + } + + // If no colors are provided, default to white. + if len(attrs) == 0 { + attrs = append(attrs, color.FgWhite) + } + + // Print using FprintColored to os.Stdout. + FprintColored(os.Stdout, prefix, secondary, attrs...) +} diff --git a/pkg/utils/printcolor_test.go b/pkg/utils/printcolor_test.go new file mode 100644 index 0000000..0774dba --- /dev/null +++ b/pkg/utils/printcolor_test.go @@ -0,0 +1,143 @@ +// File: pkg/utils/printcolor_test.go + +package utils + +import ( + "bytes" + "io" + "os" + "strings" + "testing" + + "github.com/fatih/color" +) + +/* +init forces color output for tests. +This ensures that the ANSI escape sequences are emitted even if os.Stdout is not a TTY. +*/ +func init() { + color.NoColor = false +} + +/* +captureStdout temporarily replaces os.Stdout with a pipe to capture output generated by the provided function. +It returns the captured output as a string. +*/ +func captureStdout(f func()) string { + oldStdout := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + + f() + + w.Close() + os.Stdout = oldStdout + var buf bytes.Buffer + io.Copy(&buf, r) + return buf.String() +} + +/* +TestPrintColored_SingleString verifies that calling PrintColored with only a single string argument +prints that string in the default white color. +*/ +func TestPrintColored_SingleString(t *testing.T) { + output := captureStdout(func() { + PrintColored("Just a test string") + }) + if !strings.Contains(output, "Just a test string") { + t.Errorf("Expected output to contain %q, got: %q", "Just a test string", output) + } + // We expect ANSI codes for white if forced; check that at least one ANSI code is present. + if !strings.Contains(output, "\x1b[") { + t.Errorf("Expected output to contain ANSI escape codes for white, got: %q", output) + } +} + +/* +TestPrintColored_TwoStringsWithColor verifies that calling PrintColored with a prefix, a secondary string, +and a color attribute prints the prefix in the specified color and the secondary text in default formatting. +*/ +func TestPrintColored_TwoStringsWithColor(t *testing.T) { + output := captureStdout(func() { + PrintColored("Prefix: ", "Value", color.FgHiGreen) + }) + if !strings.Contains(output, "Prefix: ") { + t.Errorf("Expected output to contain %q, got: %q", "Prefix: ", output) + } + if !strings.Contains(output, "Value") { + t.Errorf("Expected output to contain %q, got: %q", "Value", output) + } + // Check for the ANSI escape code for high-intensity green (commonly "\x1b[92m"). + if !strings.Contains(output, "\x1b[92m") { + t.Errorf("Expected output to contain ANSI code for high-intensity green, got: %q", output) + } +} + +/* +TestPrintColored_DynamicUsage verifies that calling PrintColored with a []string as the first argument +and a []color.Attribute as the second argument results in dynamic multi-segment printing. +It ensures that each text segment is printed with the corresponding color, and if there are more text segments +than colors, the last provided color is used. +*/ +func TestPrintColored_DynamicUsage(t *testing.T) { + texts := []string{"Segment1 ", "Segment2 ", "Segment3"} + colors := []color.Attribute{color.FgHiGreen, color.FgHiMagenta} + output := captureStdout(func() { + PrintColored(texts, colors) + }) + + // Verify that all text segments appear. + for _, segment := range texts { + if !strings.Contains(output, segment) { + t.Errorf("Expected output to contain %q, got: %q", segment, output) + } + } + // Verify that the ANSI codes for high-intensity green and magenta are present. + if !strings.Contains(output, "\x1b[92m") { + t.Errorf("Expected output to contain ANSI code for high-intensity green, got: %q", output) + } + if !strings.Contains(output, "\x1b[95m") { + t.Errorf("Expected output to contain ANSI code for high-intensity magenta, got: %q", output) + } +} + +/* +TestPrintColored_MixedArguments verifies that PrintColored can handle mixed argument types. +It tests the function when provided with: + - A string prefix. + - A secondary string. + - A single color attribute. + - A slice of color attributes. + +For the latter case, the function should interpret the slice properly and print using the dynamic printing branch. +*/ +func TestPrintColored_MixedArguments(t *testing.T) { + // Case 1: Using individual arguments. + output1 := captureStdout(func() { + PrintColored("Mixed1: ", "Value1", color.FgHiCyan) + }) + if !strings.Contains(output1, "Mixed1: ") || !strings.Contains(output1, "Value1") { + t.Errorf("Expected output1 to contain 'Mixed1: ' and 'Value1', got: %q", output1) + } + if !strings.Contains(output1, "\x1b[96m") { // ANSI for high-intensity cyan. + t.Errorf("Expected output1 to contain ANSI code for high-intensity cyan, got: %q", output1) + } + + // Case 2: Using slices for dynamic printing. + texts := []string{"Mixed2: ", "Value2"} + colors := []color.Attribute{color.FgHiYellow, color.FgHiBlue} + output2 := captureStdout(func() { + PrintColored(texts, colors) + }) + if !strings.Contains(output2, "Mixed2: ") || !strings.Contains(output2, "Value2") { + t.Errorf("Expected output2 to contain 'Mixed2: ' and 'Value2', got: %q", output2) + } + if !strings.Contains(output2, "\x1b[93m") { // ANSI for high-intensity yellow. + t.Errorf("Expected output2 to contain ANSI code for high-intensity yellow, got: %q", output2) + } + if !strings.Contains(output2, "\x1b[94m") { // ANSI for high-intensity blue. + t.Errorf("Expected output2 to contain ANSI code for high-intensity blue, got: %q", output2) + } +} diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index b66d4ad..bb9f4c9 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -1,64 +1,69 @@ // File: pkg/utils/utils.go + package utils import ( - "fmt" "reflect" "github.com/fatih/color" ) /* - PrintNonEmptyFields dynamically traverses a struct and prints its non-empty string fields. +PrintNonEmptyFields dynamically traverses a struct and prints its non-empty string fields. Parameters: -- prefix: A string to prepend to the field name, used to represent nested struct hierarchy (e.g., "Parent.Child."). -- v: The struct or pointer to a struct to be traversed and inspected. + - prefix: A string to prepend to the field name, used to represent nested struct hierarchy (e.g., "Parent.Child."). + - v: The struct or pointer to a struct to be traversed and inspected. Usage: -This function is useful for dynamically inspecting and displaying configurations or other data structures -where the fields may be optional, and only non-empty values are of interest. + + This function is useful for dynamically inspecting and displaying configurations or other data structures + where the fields may be optional, and only non-empty values are of interest. Example: -Given a struct: - type Config struct { - URL string - Nested struct { - Title string - } - } + Given a struct: + + type Config struct { + URL string + Nested struct { + Title string + } + } -Calling PrintNonEmptyFields("", configInstance) will output: + Calling PrintNonEmptyFields("", configInstance) will output something like: - URL: http://example.com - Nested.Title: Example Title + URL: http://example.com + Nested.Title: Example Title Notes: -- This function relies on the reflect package and assumes that the input is a struct or a pointer to a struct. -- Only string fields are checked for non-emptiness; other types are ignored. + - This function relies on the reflect package and assumes that the input is a struct or a pointer to a struct. + - Only string fields are checked for non-emptiness; other types are ignored. + - Colored output is now handled by the PrintColored utility from this package. */ func PrintNonEmptyFields(prefix string, v interface{}) { val := reflect.ValueOf(v) - // Handle pointers or nested structs + // Handle pointers by obtaining the element value. if val.Kind() == reflect.Ptr { val = val.Elem() } typ := val.Type() - // Iterate over fields + // Iterate over each field of the struct. for i := 0; i < typ.NumField(); i++ { field := val.Field(i) fieldType := typ.Field(i) fieldName := fieldType.Name - // Handle nested structs + // If the field is a nested struct, recursively print its non-empty fields. if field.Kind() == reflect.Struct { PrintNonEmptyFields(prefix+fieldName+".", field.Interface()) } else if field.Kind() == reflect.String && field.String() != "" { - fmt.Println(color.New(color.FgHiYellow).Sprint(prefix+fieldName+":"), field.String()) + // Use PrintColored to output the field name (with a colon) in high-intensity yellow, + // followed by the field value in default formatting. + PrintColored(prefix+fieldName+": ", field.String(), color.FgHiYellow) } } } From 1e65f499ea51ddf35f64299cd258cad944399a48 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Fri, 14 Feb 2025 02:59:17 -0600 Subject: [PATCH 18/47] - Updated Makefile: - Added an 'install' target that runs `go mod tidy` and fails if `go.sum` is not up-to-date. - Modified the 'test' target to use gotestsum for prettier test output, installing it automatically if not present. - Added a 'tree' target that checks for the `tree` command, attempts to install it on Linux/macOS if missing, and then displays the directory structure. - Updated CI workflows in .github/workflows/ci.yml: - Added a step to check go.sum consistency before building. - Maintained build, test, and coverage upload steps with improved formatting and consistency. --- .github/workflows/ci.yml | 2 +- Makefile | 28 ++++++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 39814e5..9f038ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,6 @@ # File: .github/workflows/ci.yml -name: CI +name: Continuous Integration (CI) on: push: diff --git a/Makefile b/Makefile index f6d9977..522fcd2 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,8 @@ # File: Makefile -.PHONY: build run test install +.PHONY: build run test install tree +# The install target runs go mod tidy and verifies that go.sum is up-to-date. install: go mod tidy @if ! git diff --exit-code go.sum; then \ @@ -9,6 +10,8 @@ install: exit 1; \ fi +# The build target depends on source files, go.mod, and go.sum. +# It rebuilds the binary only when changes are detected. build: install $(shell find . -name '*.go') go.mod go.sum @mkdir -p build @if [ ! -f build/.stamp ] || [ -n "$$(find . -name '*.go' -newer build/.stamp)" ] || [ go.mod -nt build/.stamp ] || [ go.sum -nt build/.stamp ]; then \ @@ -18,6 +21,7 @@ build: install $(shell find . -name '*.go') go.mod go.sum echo "No changes detected, skipping rebuild."; \ fi +# Set optional command-line flags for the run target. CONFIG_FLAG = ifdef CONFIG CONFIG_FLAG := --config $(CONFIG) @@ -28,9 +32,11 @@ ifdef URL URL_FLAG := --url $(URL) endif +# The run target executes the built binary with any provided configuration or URL flags. run: build ./build/scrapeycli $(CONFIG_FLAG) $(URL_FLAG) +# The test target ensures that gotestsum is installed and uses it to run tests with coverage reporting. test: @if ! command -v gotestsum >/dev/null 2>&1; then \ echo "gotestsum not found, installing..."; \ @@ -40,5 +46,23 @@ test: if [ -d test ] && ls test/*.go > /dev/null 2>&1; then \ gotestsum --format short-verbose ./test -- -coverprofile=./coverage/coverage.txt; \ fi; \ - # Print a coverage summary using go tool cover. go tool cover -func=./coverage/coverage.txt + +# The tree target displays the project directory structure. +# If the 'tree' command is not installed, it attempts to install it based on the OS. +tree: + @if ! command -v tree >/dev/null 2>&1; then \ + echo "tree command not found. Attempting to install..."; \ + OS=$$(uname); \ + if [ "$$OS" = "Linux" ]; then \ + sudo apt-get update && sudo apt-get install -y tree; \ + elif [ "$$OS" = "Darwin" ]; then \ + brew install tree; \ + else \ + echo "Automatic installation not supported on $$OS. Please install tree manually."; \ + exit 1; \ + fi; \ + else \ + echo "tree command found, skipping installation."; \ + fi; \ + tree -n -I "vendor|.git" From d412e4851aea0d572159a15ce3ea8f807e1e18ba Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Fri, 14 Feb 2025 03:42:29 -0600 Subject: [PATCH 19/47] Updating test coverage --- pkg/utils/printcolor.go | 62 ++++++++++++++++-------------------- pkg/utils/printcolor_test.go | 51 +++++++++++++---------------- 2 files changed, 49 insertions(+), 64 deletions(-) diff --git a/pkg/utils/printcolor.go b/pkg/utils/printcolor.go index 15547e3..45b8b92 100644 --- a/pkg/utils/printcolor.go +++ b/pkg/utils/printcolor.go @@ -15,10 +15,10 @@ import ( FprintColored writes a colored line to the provided writer. Parameters: - - w: An io.Writer where the output will be written. - - prefix: The string to be printed in the specified color (or white if no color is provided). - - secondary: The string printed immediately after the colored prefix in default formatting. - - attrs: A variadic parameter of color attributes. If none are provided, white is used. + - w: The io.Writer where output is written. + - prefix: The string to print in the specified color (defaults to white if no color is provided). + - secondary: The string printed immediately after the colored prefix. + - attrs: Variadic color attributes; if none are provided, white is used. Usage: @@ -43,17 +43,21 @@ func FprintColored(w io.Writer, prefix, secondary string, attrs ...color.Attribu } /* -PrintColoredDynamic writes multiple colored string segments to the provided writer on the same line. +FprintColoredDynamic writes multiple colored string segments to the provided writer on one line. Parameters: - - w: An io.Writer where the output will be written. - - texts: A slice of strings to be printed sequentially. - - colors: A slice of color attributes corresponding to each text segment. + - w: The io.Writer for output. + - texts: A slice of strings to print sequentially. + - colors: A slice of color attributes corresponding to each text. + If there are more texts than colors, the last provided color is used for the remaining texts. -Behavior: - - For each text, if a color is specified at that index, that color is used. - - If there are more texts than colors, the last provided color is used for the remaining texts. - - All text segments are printed on the same line, and a newline is added at the end. +Usage: + + FprintColoredDynamic(os.Stdout, []string{"A ", "B ", "C"}, []color.Attribute{color.FgHiGreen, color.FgHiMagenta}) + +Notes: + + All text segments are printed on the same line, followed by a newline. */ func FprintColoredDynamic(w io.Writer, texts []string, colors []color.Attribute) { for i, text := range texts { @@ -72,50 +76,44 @@ func FprintColoredDynamic(w io.Writer, texts []string, colors []color.Attribute) /* PrintColoredDynamicToStdout is a convenience function that writes dynamic colored output to os.Stdout. - -Usage: - - PrintColoredDynamicToStdout([]string{"One ", "Two ", "Three "}, []color.Attribute{color.FgRed, color.FgGreen, color.FgBlue}) */ func PrintColoredDynamicToStdout(texts []string, colors []color.Attribute) { FprintColoredDynamic(os.Stdout, texts, colors) } /* -PrintColored is the main exported function for this util. It dynamically determines how to print colored output based on the arguments provided. +PrintColored is the main exported function for this utility. +It dynamically determines how to print colored output based on the types of arguments passed. Usage: - 1. To print a simple colored line with a prefix and secondary text: - PrintColored("Prefix: ", "Secondary", color.FgHiGreen) - 2. To print a single string in a default color: + 1. To print a single string: PrintColored("Just a string") + 2. To print a prefix and secondary string with a color: + PrintColored("Prefix: ", "Secondary", color.FgHiGreen) 3. To print multiple segments with individual colors: PrintColored([]string{"Segment1 ", "Segment2 ", "Segment3"}, []color.Attribute{color.FgHiGreen, color.FgHiMagenta}) Behavior: - - If the first argument is a []string, it expects the second argument to be a []color.Attribute and calls the dynamic multi-segment printer. + - If the first argument is a []string, it expects a second argument as []color.Attribute and calls the dynamic printer. - Otherwise, if the first argument is a string: - - With only one argument, it prints that string in white. - - With two arguments (both strings), it prints the first string in white followed by the second string in default formatting. - - With additional arguments of type color.Attribute, it uses those attributes to color the prefix. + - With one argument, prints that string in white. + - With two arguments (both strings), prints the first in white and the second in default formatting. + - With additional arguments of type color.Attribute (or a slice thereof), uses them to color the prefix. */ func PrintColored(args ...interface{}) { - // No arguments: nothing to print. if len(args) == 0 { return } - // Check if the first argument is a slice of strings. + // Dynamic mode: if the first argument is a []string. if texts, ok := args[0].([]string); ok { - // Expect a second argument as []color.Attribute, if provided. var colors []color.Attribute if len(args) > 1 { if cols, ok := args[1].([]color.Attribute); ok { colors = cols } } - // Use the dynamic printing function. PrintColoredDynamicToStdout(texts, colors) return } @@ -123,11 +121,9 @@ func PrintColored(args ...interface{}) { // Otherwise, assume the first argument is a string. prefix, ok := args[0].(string) if !ok { - // If not, do nothing. return } - // Determine the secondary string. secondary := "" if len(args) >= 2 { if sec, ok := args[1].(string); ok { @@ -135,12 +131,10 @@ func PrintColored(args ...interface{}) { } } - // Gather any color attributes passed. var attrs []color.Attribute if len(args) > 2 { - // Iterate over the remaining arguments. + // Collect any color attributes (supports individual values or a slice). for _, arg := range args[2:] { - // Use reflection to support both a single color or a slice of colors. v := reflect.ValueOf(arg) switch v.Kind() { case reflect.Slice: @@ -158,11 +152,9 @@ func PrintColored(args ...interface{}) { } } - // If no colors are provided, default to white. if len(attrs) == 0 { attrs = append(attrs, color.FgWhite) } - // Print using FprintColored to os.Stdout. FprintColored(os.Stdout, prefix, secondary, attrs...) } diff --git a/pkg/utils/printcolor_test.go b/pkg/utils/printcolor_test.go index 0774dba..0836ea7 100644 --- a/pkg/utils/printcolor_test.go +++ b/pkg/utils/printcolor_test.go @@ -13,10 +13,11 @@ import ( ) /* -init forces color output for tests. -This ensures that the ANSI escape sequences are emitted even if os.Stdout is not a TTY. +init sets the TERM environment variable to force color output during tests. +This ensures that ANSI escape sequences are emitted even in non-TTY environments. */ func init() { + os.Setenv("TERM", "xterm-256color") color.NoColor = false } @@ -39,8 +40,8 @@ func captureStdout(f func()) string { } /* -TestPrintColored_SingleString verifies that calling PrintColored with only a single string argument -prints that string in the default white color. +TestPrintColored_SingleString verifies that calling PrintColored with a single string prints that string in white. +We expect ANSI escape codes to be present due to the forced TERM setting. */ func TestPrintColored_SingleString(t *testing.T) { output := captureStdout(func() { @@ -49,37 +50,33 @@ func TestPrintColored_SingleString(t *testing.T) { if !strings.Contains(output, "Just a test string") { t.Errorf("Expected output to contain %q, got: %q", "Just a test string", output) } - // We expect ANSI codes for white if forced; check that at least one ANSI code is present. + // Check that ANSI escape sequences are present. if !strings.Contains(output, "\x1b[") { - t.Errorf("Expected output to contain ANSI escape codes for white, got: %q", output) + t.Errorf("Expected output to contain ANSI escape codes, got: %q", output) } } /* -TestPrintColored_TwoStringsWithColor verifies that calling PrintColored with a prefix, a secondary string, -and a color attribute prints the prefix in the specified color and the secondary text in default formatting. +TestPrintColored_TwoStringsWithColor verifies that calling PrintColored with a prefix, secondary string, and a color attribute +prints the prefix in the specified color (high-intensity green) and the secondary text in default formatting. */ func TestPrintColored_TwoStringsWithColor(t *testing.T) { output := captureStdout(func() { PrintColored("Prefix: ", "Value", color.FgHiGreen) }) - if !strings.Contains(output, "Prefix: ") { - t.Errorf("Expected output to contain %q, got: %q", "Prefix: ", output) + if !strings.Contains(output, "Prefix: ") || !strings.Contains(output, "Value") { + t.Errorf("Expected output to contain both 'Prefix: ' and 'Value', got: %q", output) } - if !strings.Contains(output, "Value") { - t.Errorf("Expected output to contain %q, got: %q", "Value", output) - } - // Check for the ANSI escape code for high-intensity green (commonly "\x1b[92m"). + // Check for ANSI escape code for high-intensity green (usually "\x1b[92m"). if !strings.Contains(output, "\x1b[92m") { t.Errorf("Expected output to contain ANSI code for high-intensity green, got: %q", output) } } /* -TestPrintColored_DynamicUsage verifies that calling PrintColored with a []string as the first argument -and a []color.Attribute as the second argument results in dynamic multi-segment printing. -It ensures that each text segment is printed with the corresponding color, and if there are more text segments -than colors, the last provided color is used. +TestPrintColored_DynamicUsage verifies that calling PrintColored with a slice of strings and a slice of colors +results in multi-segment printing. It ensures that each segment is printed in its corresponding color, +and if there are more texts than colors, the last color is used for the remaining segments. */ func TestPrintColored_DynamicUsage(t *testing.T) { texts := []string{"Segment1 ", "Segment2 ", "Segment3"} @@ -87,14 +84,12 @@ func TestPrintColored_DynamicUsage(t *testing.T) { output := captureStdout(func() { PrintColored(texts, colors) }) - - // Verify that all text segments appear. for _, segment := range texts { if !strings.Contains(output, segment) { t.Errorf("Expected output to contain %q, got: %q", segment, output) } } - // Verify that the ANSI codes for high-intensity green and magenta are present. + // Check for ANSI codes for high-intensity green and magenta. if !strings.Contains(output, "\x1b[92m") { t.Errorf("Expected output to contain ANSI code for high-intensity green, got: %q", output) } @@ -104,17 +99,15 @@ func TestPrintColored_DynamicUsage(t *testing.T) { } /* -TestPrintColored_MixedArguments verifies that PrintColored can handle mixed argument types. -It tests the function when provided with: - - A string prefix. - - A secondary string. - - A single color attribute. - - A slice of color attributes. +TestPrintColored_MixedArguments verifies that PrintColored correctly handles mixed argument types. +It tests: + - Individual string arguments with a single color attribute. + - Slices of strings with a slice of color attributes. -For the latter case, the function should interpret the slice properly and print using the dynamic printing branch. +In both cases, it checks that the output includes the appropriate ANSI escape codes. */ func TestPrintColored_MixedArguments(t *testing.T) { - // Case 1: Using individual arguments. + // Case 1: Individual arguments. output1 := captureStdout(func() { PrintColored("Mixed1: ", "Value1", color.FgHiCyan) }) From 84e5e45b3a2358290560b5290a9379d5b795153c Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Fri, 14 Feb 2025 05:18:59 -0600 Subject: [PATCH 20/47] Make only running tests if changes are made. Separate coverage command. --- Makefile | 132 ++++++++++++--- cmd/scrapeycli/main.go | 148 ++++++++-------- cmd/scrapeycli/main_test.go | 204 +++++++++++----------- pkg/config/config_test.go | 152 ++++++++--------- pkg/utils/printcolor.go | 320 +++++++++++++++++------------------ pkg/utils/printcolor_test.go | 272 ++++++++++++++--------------- 6 files changed, 656 insertions(+), 572 deletions(-) diff --git a/Makefile b/Makefile index 522fcd2..cfd6438 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,20 @@ -# File: Makefile +.PHONY: build run test install tree coverage ensure-gotestsum -.PHONY: build run test install tree +BUILD_DIR := build +BINARY := $(BUILD_DIR)/scrapeycli -# The install target runs go mod tidy and verifies that go.sum is up-to-date. +COVER_DIR := coverage +COVER_PROFILE := $(COVER_DIR)/coverage.txt +COVER_HTML := $(COVER_DIR)/coverage.html + +BUILD_STAMP := $(BUILD_DIR)/.stamp +TEST_STAMP := $(COVER_DIR)/.stamp + +GO_FILES := $(shell find . -type f -name '*.go' -not -path "./vendor/*") + +# ------------------------------------------------------------------------------ +# install: ensure modules are tidy + go.sum is up-to-date +# ------------------------------------------------------------------------------ install: go mod tidy @if ! git diff --exit-code go.sum; then \ @@ -10,18 +22,24 @@ install: exit 1; \ fi -# The build target depends on source files, go.mod, and go.sum. -# It rebuilds the binary only when changes are detected. -build: install $(shell find . -name '*.go') go.mod go.sum - @mkdir -p build - @if [ ! -f build/.stamp ] || [ -n "$$(find . -name '*.go' -newer build/.stamp)" ] || [ go.mod -nt build/.stamp ] || [ go.sum -nt build/.stamp ]; then \ +# ------------------------------------------------------------------------------ +# build: only rebuild if .go, go.mod, or go.sum are newer than BUILD_STAMP +# ------------------------------------------------------------------------------ +build: install $(GO_FILES) go.mod go.sum + @mkdir -p $(BUILD_DIR) + @if [ ! -f "$(BUILD_STAMP)" ] \ + || [ -n "$$(find . -name '*.go' -newer "$(BUILD_STAMP)")" ] \ + || [ go.mod -nt "$(BUILD_STAMP)" ] \ + || [ go.sum -nt "$(BUILD_STAMP)" ]; then \ echo "Changes detected, rebuilding..."; \ - go build -o build/scrapeycli ./cmd/scrapeycli && touch build/.stamp; \ + go build -o "$(BINARY)" ./cmd/scrapeycli && touch "$(BUILD_STAMP)"; \ else \ echo "No changes detected, skipping rebuild."; \ fi -# Set optional command-line flags for the run target. +# ------------------------------------------------------------------------------ +# run: executes the built binary +# ------------------------------------------------------------------------------ CONFIG_FLAG = ifdef CONFIG CONFIG_FLAG := --config $(CONFIG) @@ -32,24 +50,90 @@ ifdef URL URL_FLAG := --url $(URL) endif -# The run target executes the built binary with any provided configuration or URL flags. run: build - ./build/scrapeycli $(CONFIG_FLAG) $(URL_FLAG) + ./$(BINARY) $(CONFIG_FLAG) $(URL_FLAG) -# The test target ensures that gotestsum is installed and uses it to run tests with coverage reporting. -test: +# ------------------------------------------------------------------------------ +# ensure-gotestsum: install gotestsum if missing +# ------------------------------------------------------------------------------ +ensure-gotestsum: @if ! command -v gotestsum >/dev/null 2>&1; then \ - echo "gotestsum not found, installing..."; \ + echo "Installing gotestsum..."; \ go install gotest.tools/gotestsum@latest; \ - fi; \ - gotestsum --format short-verbose ./... -- -coverprofile=./coverage/coverage.txt; \ - if [ -d test ] && ls test/*.go > /dev/null 2>&1; then \ - gotestsum --format short-verbose ./test -- -coverprofile=./coverage/coverage.txt; \ - fi; \ - go tool cover -func=./coverage/coverage.txt + fi + +# ------------------------------------------------------------------------------ +# TEST_STAMP RULE: +# If the stamp doesn't exist, run tests. Otherwise, check if anything is newer. +# If so, run tests. If not, skip. +# ------------------------------------------------------------------------------ +$(TEST_STAMP): ensure-gotestsum + @mkdir -p $(COVER_DIR) + @if [ ! -f "$@" ]; then \ + echo "No test stamp found; running tests..."; \ + gotestsum --format short-verbose ./... -- \ + -cover \ + -covermode=atomic \ + -coverpkg=./... \ + -coverprofile="$(COVER_PROFILE)"; \ + if [ -d test ] && ls test/*.go >/dev/null 2>&1; then \ + echo "Merging coverage from ./test directory..."; \ + gotestsum --format short-verbose ./test -- \ + -cover \ + -covermode=atomic \ + -coverpkg=./... \ + -coverprofile="$(COVER_PROFILE)" \ + -append; \ + else \ + echo "Skipping ./test folder (no Go files found)."; \ + fi; \ + go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)"; \ + touch "$@"; \ + echo "Tests complete. Coverage file generated at: $(COVER_PROFILE)"; \ + echo "HTML coverage report at: $(COVER_HTML)"; \ + elif [ -n "$$(find $(GO_FILES) go.mod go.sum -type f -newer "$@" 2>/dev/null)" ]; then \ + echo "Some files changed; re-running tests..."; \ + gotestsum --format short-verbose ./... -- \ + -cover \ + -covermode=atomic \ + -coverpkg=./... \ + -coverprofile="$(COVER_PROFILE)"; \ + if [ -d test ] && ls test/*.go >/dev/null 2>&1; then \ + echo "Merging coverage from ./test directory..."; \ + gotestsum --format short-verbose ./test -- \ + -cover \ + -covermode=atomic \ + -coverpkg=./... \ + -coverprofile="$(COVER_PROFILE)" \ + -append; \ + else \ + echo "Skipping ./test folder (no Go files found)."; \ + fi; \ + go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)"; \ + touch "$@"; \ + echo "Tests complete. Coverage file generated at: $(COVER_PROFILE)"; \ + echo "HTML coverage report at: $(COVER_HTML)"; \ + else \ + echo "No changes detected; skipping test run."; \ + fi + +# ------------------------------------------------------------------------------ +# test: ensures TEST_STAMP is fresh. If no changes, it won't re-run tests. +# ------------------------------------------------------------------------------ +test: $(TEST_STAMP) + @echo "Done with 'make test'." + +# ------------------------------------------------------------------------------ +# coverage: ensures TEST_STAMP is fresh, then prints coverage summary +# ------------------------------------------------------------------------------ +coverage: $(TEST_STAMP) + @echo "================== COVERAGE SUMMARY ==================" + go tool cover -func="$(COVER_PROFILE)" + @echo "=====================================================" -# The tree target displays the project directory structure. -# If the 'tree' command is not installed, it attempts to install it based on the OS. +# ------------------------------------------------------------------------------ +# tree: show directory structure (installs tree if missing) +# ------------------------------------------------------------------------------ tree: @if ! command -v tree >/dev/null 2>&1; then \ echo "tree command not found. Attempting to install..."; \ @@ -59,7 +143,7 @@ tree: elif [ "$$OS" = "Darwin" ]; then \ brew install tree; \ else \ - echo "Automatic installation not supported on $$OS. Please install tree manually."; \ + echo "Automatic installation of 'tree' is not supported on $$OS. Please install manually."; \ exit 1; \ fi; \ else \ diff --git a/cmd/scrapeycli/main.go b/cmd/scrapeycli/main.go index 7a5b4f5..e1c8286 100644 --- a/cmd/scrapeycli/main.go +++ b/cmd/scrapeycli/main.go @@ -1,74 +1,74 @@ -// File: cmd/scrapeycli/main.go - -package main - -import ( - "flag" - "os" - - "github.com/fatih/color" - "github.com/heinrichb/scrapey-cli/pkg/config" - "github.com/heinrichb/scrapey-cli/pkg/utils" -) - -/* -Global variables for storing command-line arguments. - -- configPath: The path to the configuration file. -- url: The URL to be scraped, which may override the URL in the config. -*/ -var ( - configPath string - url string -) - -/* -init registers command-line flags for configuration. - -It sets up two flags for the config file ("config" and its shorthand "c") -and a flag for the URL override. -*/ -func init() { - flag.StringVar(&configPath, "config", "", "Path to config file") - flag.StringVar(&configPath, "c", "", "Path to config file (shorthand)") - flag.StringVar(&url, "url", "", "URL to scrape (overrides config)") -} - -/* -main is the entry point of Scrapey CLI. - -It parses command-line flags, prints a welcome message, loads the configuration, -handles URL overrides, and prints confirmation messages for each step. -*/ -func main() { - // Parse CLI flags. - flag.Parse() - - // Print a welcome message in cyan using our PrintColored utility. - utils.PrintColored("Welcome to Scrapey CLI!", "", color.FgCyan) - - // Default to "configs/default.json" if no config path is provided. - if configPath == "" { - configPath = "configs/default.json" - } - - // Attempt to load the configuration from the specified file. - cfg, err := config.Load(configPath) - if err != nil { - // If loading fails, print an error message in red and exit. - utils.PrintColored("Failed to load config: ", err.Error(), color.FgRed) - os.Exit(1) - } - - // If a URL is provided via the command line, override the configuration's URL. - if url != "" { - utils.PrintColored("Overriding config with URL flag: ", url, color.FgHiMagenta) - cfg.URL = url - } - - // Print a confirmation message in high-intensity green indicating successful config load. - utils.PrintColored("Loaded config from: ", configPath, color.FgHiGreen) - - // Indicate that initialization is complete by printing a success message in green. - utils.PrintColored("Scrapey CLI initialization complete.", "", color.FgGreen) -} +// File: cmd/scrapeycli/main.go + +package main + +import ( + "flag" + "os" + + "github.com/fatih/color" + "github.com/heinrichb/scrapey-cli/pkg/config" + "github.com/heinrichb/scrapey-cli/pkg/utils" +) + +/* +Global variables for storing command-line arguments. + +- configPath: The path to the configuration file. +- url: The URL to be scraped, which may override the URL in the config. +*/ +var ( + configPath string + url string +) + +/* +init registers command-line flags for configuration. + +It sets up two flags for the config file ("config" and its shorthand "c") +and a flag for the URL override. +*/ +func init() { + flag.StringVar(&configPath, "config", "", "Path to config file") + flag.StringVar(&configPath, "c", "", "Path to config file (shorthand)") + flag.StringVar(&url, "url", "", "URL to scrape (overrides config)") +} + +/* +main is the entry point of Scrapey CLI. + +It parses command-line flags, prints a welcome message, loads the configuration, +handles URL overrides, and prints confirmation messages for each step. +*/ +func main() { + // Parse CLI flags. + flag.Parse() + + // Print a welcome message in cyan using our PrintColored utility. + utils.PrintColored("Welcome to Scrapey CLI!", "", color.FgCyan) + + // Default to "configs/default.json" if no config path is provided. + if configPath == "" { + configPath = "configs/default.json" + } + + // Attempt to load the configuration from the specified file. + cfg, err := config.Load(configPath) + if err != nil { + // If loading fails, print an error message in red and exit. + utils.PrintColored("Failed to load config: ", err.Error(), color.FgRed) + os.Exit(1) + } + + // If a URL is provided via the command line, override the configuration's URL. + if url != "" { + utils.PrintColored("Overriding config with URL flag: ", url, color.FgHiMagenta) + cfg.URL = url + } + + // Print a confirmation message in high-intensity green indicating successful config load. + utils.PrintColored("Loaded config from: ", configPath, color.FgHiGreen) + + // Indicate that initialization is complete by printing a success message in green. + utils.PrintColored("Scrapey CLI initialization complete.", "", color.FgGreen) +} diff --git a/cmd/scrapeycli/main_test.go b/cmd/scrapeycli/main_test.go index 51c1c59..92858ca 100644 --- a/cmd/scrapeycli/main_test.go +++ b/cmd/scrapeycli/main_test.go @@ -1,102 +1,102 @@ -// File: cmd/scrapeycli/main_test.go - -package main - -import ( - "flag" - "os/exec" - "strings" - "testing" -) - -/* -runMainCommand is a helper function that executes main.go with the provided arguments. -It sets the working directory to the project root (two levels up from cmd/scrapeycli/) -and returns the combined output along with any error. - -Parameters: - - t: The current testing context (not used directly, but conforms to typical test helper function signatures). - - args: A variadic list of arguments to be passed to the go run command. - -Usage: - - output, err := runMainCommand(t, "--config", "configs/default.json") -*/ -func runMainCommand(_ *testing.T, args ...string) (string, error) { - cmd := exec.Command("go", append([]string{"run", "./cmd/scrapeycli/main.go"}, args...)...) - cmd.Dir = "../.." // Set working directory to project root. - output, err := cmd.CombinedOutput() - return string(output), err -} - -/* -TestFlagRegistration verifies that all necessary command-line flags are properly registered. -The application depends on these flags for configuration input and URL overrides. - -Checks: - - "config" and "c" flags - - "url" flag -*/ -func TestFlagRegistration(t *testing.T) { - if f := flag.Lookup("config"); f == nil { - t.Error("Expected flag 'config' to be registered") - } - if f := flag.Lookup("c"); f == nil { - t.Error("Expected shorthand flag 'c' to be registered") - } - if f := flag.Lookup("url"); f == nil { - t.Error("Expected flag 'url' to be registered") - } -} - -/* -TestMainExecution runs the main program with a valid configuration file and checks for -the welcome message ("Welcome to Scrapey CLI!") in the output. -*/ -func TestMainExecution(t *testing.T) { - output, err := runMainCommand(t, "--config", "configs/default.json") - if err != nil { - t.Fatalf("Failed to run main.go: %v\nOutput: %s", err, output) - } - - if !strings.Contains(output, "Welcome to Scrapey CLI!") { - t.Errorf("Expected welcome message not found in output.\nOutput: %s", output) - } -} - -/* -TestMainConfigFailure simulates a config load failure by specifying a non-existent file. -It checks that the program exits with code 1, indicating proper error handling. -*/ -func TestMainConfigFailure(t *testing.T) { - _, err := runMainCommand(t, "--config", "nonexistent.json") - if err == nil { - t.Fatalf("Expected failure due to config load error, but got success") - } - - if exitErr, ok := err.(*exec.ExitError); ok { - if exitErr.ExitCode() != 1 { - t.Errorf("Expected exit code 1, got %d", exitErr.ExitCode()) - } - } else { - t.Fatalf("Error was not of type *exec.ExitError: %v", err) - } -} - -/* -TestURLOverride runs the main program with a valid config file and a URL override flag. -It verifies that the output includes the URL override message and that the overridden -URL is displayed, confirming the override branch is executed. -*/ -func TestURLOverride(t *testing.T) { - output, err := runMainCommand(t, "--config", "configs/default.json", "--url", "https://example.org") - if err != nil { - t.Fatalf("Failed to run main.go with URL override: %v\nOutput: %s", err, output) - } - if !strings.Contains(output, "Overriding config with URL flag:") { - t.Errorf("Expected URL override message not found in output.\nOutput: %s", output) - } - if !strings.Contains(output, "https://example.org") { - t.Errorf("Expected overridden URL not found in output.\nOutput: %s", output) - } -} +// File: cmd/scrapeycli/main_test.go + +package main + +import ( + "flag" + "os/exec" + "strings" + "testing" +) + +/* +runMainCommand is a helper function that executes main.go with the provided arguments. +It sets the working directory to the project root (two levels up from cmd/scrapeycli/) +and returns the combined output along with any error. + +Parameters: + - t: The current testing context (not used directly, but conforms to typical test helper function signatures). + - args: A variadic list of arguments to be passed to the go run command. + +Usage: + + output, err := runMainCommand(t, "--config", "configs/default.json") +*/ +func runMainCommand(_ *testing.T, args ...string) (string, error) { + cmd := exec.Command("go", append([]string{"run", "./cmd/scrapeycli/main.go"}, args...)...) + cmd.Dir = "../.." // Set working directory to project root. + output, err := cmd.CombinedOutput() + return string(output), err +} + +/* +TestFlagRegistration verifies that all necessary command-line flags are properly registered. +The application depends on these flags for configuration input and URL overrides. + +Checks: + - "config" and "c" flags + - "url" flag +*/ +func TestFlagRegistration(t *testing.T) { + if f := flag.Lookup("config"); f == nil { + t.Error("Expected flag 'config' to be registered") + } + if f := flag.Lookup("c"); f == nil { + t.Error("Expected shorthand flag 'c' to be registered") + } + if f := flag.Lookup("url"); f == nil { + t.Error("Expected flag 'url' to be registered") + } +} + +/* +TestMainExecution runs the main program with a valid configuration file and checks for +the welcome message ("Welcome to Scrapey CLI!") in the output. +*/ +func TestMainExecution(t *testing.T) { + output, err := runMainCommand(t, "--config", "configs/default.json") + if err != nil { + t.Fatalf("Failed to run main.go: %v\nOutput: %s", err, output) + } + + if !strings.Contains(output, "Welcome to Scrapey CLI!") { + t.Errorf("Expected welcome message not found in output.\nOutput: %s", output) + } +} + +/* +TestMainConfigFailure simulates a config load failure by specifying a non-existent file. +It checks that the program exits with code 1, indicating proper error handling. +*/ +func TestMainConfigFailure(t *testing.T) { + _, err := runMainCommand(t, "--config", "nonexistent.json") + if err == nil { + t.Fatalf("Expected failure due to config load error, but got success") + } + + if exitErr, ok := err.(*exec.ExitError); ok { + if exitErr.ExitCode() != 1 { + t.Errorf("Expected exit code 1, got %d", exitErr.ExitCode()) + } + } else { + t.Fatalf("Error was not of type *exec.ExitError: %v", err) + } +} + +/* +TestURLOverride runs the main program with a valid config file and a URL override flag. +It verifies that the output includes the URL override message and that the overridden +URL is displayed, confirming the override branch is executed. +*/ +func TestURLOverride(t *testing.T) { + output, err := runMainCommand(t, "--config", "configs/default.json", "--url", "https://example.org") + if err != nil { + t.Fatalf("Failed to run main.go with URL override: %v\nOutput: %s", err, output) + } + if !strings.Contains(output, "Overriding config with URL flag:") { + t.Errorf("Expected URL override message not found in output.\nOutput: %s", output) + } + if !strings.Contains(output, "https://example.org") { + t.Errorf("Expected overridden URL not found in output.\nOutput: %s", output) + } +} diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index dbc0559..ad10d2d 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -1,76 +1,76 @@ -// File: pkg/config/config_test.go - -package config - -import ( - "os" - "testing" -) - -/* -TestLoadValidConfig creates a temporary file with valid JSON configuration data, writes a valid URL value, -and attempts to load the configuration using Load. It verifies that the returned Config object contains the -expected URL. -*/ -func TestLoadValidConfig(t *testing.T) { - // Create a temporary file with valid JSON using os.CreateTemp. - tmpFile, err := os.CreateTemp("", "valid_config_*.json") - if err != nil { - t.Fatalf("Failed to create temp file: %v", err) - } - defer os.Remove(tmpFile.Name()) - - validJSON := `{"url": "http://example.org"}` - if _, err := tmpFile.Write([]byte(validJSON)); err != nil { - t.Fatalf("Failed to write to temp file: %v", err) - } - tmpFile.Close() // Close the file so it can be read by Load. - - // Load the configuration from the temporary file. - cfg, err := Load(tmpFile.Name()) - if err != nil { - t.Fatalf("Expected valid config, got error: %v", err) - } - - // Check that the URL in the configuration matches the expected value. - if cfg.URL != "http://example.org" { - t.Errorf("Expected URL 'http://example.org', got '%s'", cfg.URL) - } -} - -/* -TestLoadNonexistentFile attempts to load a configuration from a non-existent file and verifies that -Load returns an error. -*/ -func TestLoadNonexistentFile(t *testing.T) { - // Attempt to load a config from a non-existent file. - _, err := Load("nonexistent_file.json") - if err == nil { - t.Fatalf("Expected error for non-existent file, got nil") - } -} - -/* -TestLoadInvalidJSON creates a temporary file with invalid JSON content (missing a closing brace) and attempts -to load the configuration. The test confirms that an error is returned due to invalid JSON. -*/ -func TestLoadInvalidJSON(t *testing.T) { - // Create a temporary file with invalid JSON using os.CreateTemp. - tmpFile, err := os.CreateTemp("", "invalid_config_*.json") - if err != nil { - t.Fatalf("Failed to create temp file: %v", err) - } - defer os.Remove(tmpFile.Name()) - - invalidJSON := `{"url": "http://example.org"` - if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { - t.Fatalf("Failed to write to temp file: %v", err) - } - tmpFile.Close() - - // Attempt to load the configuration from the temporary file. - _, err = Load(tmpFile.Name()) - if err == nil { - t.Fatalf("Expected error for invalid JSON, got nil") - } -} +// File: pkg/config/config_test.go + +package config + +import ( + "os" + "testing" +) + +/* +TestLoadValidConfig creates a temporary file with valid JSON configuration data, writes a valid URL value, +and attempts to load the configuration using Load. It verifies that the returned Config object contains the +expected URL. +*/ +func TestLoadValidConfig(t *testing.T) { + // Create a temporary file with valid JSON using os.CreateTemp. + tmpFile, err := os.CreateTemp("", "valid_config_*.json") + if err != nil { + t.Fatalf("Failed to create temp file: %v", err) + } + defer os.Remove(tmpFile.Name()) + + validJSON := `{"url": "http://example.org"}` + if _, err := tmpFile.Write([]byte(validJSON)); err != nil { + t.Fatalf("Failed to write to temp file: %v", err) + } + tmpFile.Close() // Close the file so it can be read by Load. + + // Load the configuration from the temporary file. + cfg, err := Load(tmpFile.Name()) + if err != nil { + t.Fatalf("Expected valid config, got error: %v", err) + } + + // Check that the URL in the configuration matches the expected value. + if cfg.URL != "http://example.org" { + t.Errorf("Expected URL 'http://example.org', got '%s'", cfg.URL) + } +} + +/* +TestLoadNonexistentFile attempts to load a configuration from a non-existent file and verifies that +Load returns an error. +*/ +func TestLoadNonexistentFile(t *testing.T) { + // Attempt to load a config from a non-existent file. + _, err := Load("nonexistent_file.json") + if err == nil { + t.Fatalf("Expected error for non-existent file, got nil") + } +} + +/* +TestLoadInvalidJSON creates a temporary file with invalid JSON content (missing a closing brace) and attempts +to load the configuration. The test confirms that an error is returned due to invalid JSON. +*/ +func TestLoadInvalidJSON(t *testing.T) { + // Create a temporary file with invalid JSON using os.CreateTemp. + tmpFile, err := os.CreateTemp("", "invalid_config_*.json") + if err != nil { + t.Fatalf("Failed to create temp file: %v", err) + } + defer os.Remove(tmpFile.Name()) + + invalidJSON := `{"url": "http://example.org"` + if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { + t.Fatalf("Failed to write to temp file: %v", err) + } + tmpFile.Close() + + // Attempt to load the configuration from the temporary file. + _, err = Load(tmpFile.Name()) + if err == nil { + t.Fatalf("Expected error for invalid JSON, got nil") + } +} diff --git a/pkg/utils/printcolor.go b/pkg/utils/printcolor.go index 45b8b92..8eba872 100644 --- a/pkg/utils/printcolor.go +++ b/pkg/utils/printcolor.go @@ -1,160 +1,160 @@ -// File: pkg/utils/printcolor.go - -package utils - -import ( - "fmt" - "io" - "os" - "reflect" - - "github.com/fatih/color" -) - -/* -FprintColored writes a colored line to the provided writer. - -Parameters: - - w: The io.Writer where output is written. - - prefix: The string to print in the specified color (defaults to white if no color is provided). - - secondary: The string printed immediately after the colored prefix. - - attrs: Variadic color attributes; if none are provided, white is used. - -Usage: - - FprintColored(os.Stdout, "Loaded config from: ", configPath, color.FgHiGreen) - -Notes: - - If 'secondary' is empty, only the colored prefix is printed. -*/ -func FprintColored(w io.Writer, prefix, secondary string, attrs ...color.Attribute) { - var c *color.Color - if len(attrs) > 0 { - c = color.New(attrs...) - } else { - c = color.New(color.FgWhite) - } - if secondary != "" { - fmt.Fprintf(w, "%s%s\n", c.Sprint(prefix), secondary) - } else { - fmt.Fprintln(w, c.Sprint(prefix)) - } -} - -/* -FprintColoredDynamic writes multiple colored string segments to the provided writer on one line. - -Parameters: - - w: The io.Writer for output. - - texts: A slice of strings to print sequentially. - - colors: A slice of color attributes corresponding to each text. - If there are more texts than colors, the last provided color is used for the remaining texts. - -Usage: - - FprintColoredDynamic(os.Stdout, []string{"A ", "B ", "C"}, []color.Attribute{color.FgHiGreen, color.FgHiMagenta}) - -Notes: - - All text segments are printed on the same line, followed by a newline. -*/ -func FprintColoredDynamic(w io.Writer, texts []string, colors []color.Attribute) { - for i, text := range texts { - var attr color.Attribute - if i < len(colors) { - attr = colors[i] - } else if len(colors) > 0 { - attr = colors[len(colors)-1] - } else { - attr = color.FgWhite - } - fmt.Fprint(w, color.New(attr).Sprint(text)) - } - fmt.Fprintln(w) -} - -/* -PrintColoredDynamicToStdout is a convenience function that writes dynamic colored output to os.Stdout. -*/ -func PrintColoredDynamicToStdout(texts []string, colors []color.Attribute) { - FprintColoredDynamic(os.Stdout, texts, colors) -} - -/* -PrintColored is the main exported function for this utility. -It dynamically determines how to print colored output based on the types of arguments passed. - -Usage: - 1. To print a single string: - PrintColored("Just a string") - 2. To print a prefix and secondary string with a color: - PrintColored("Prefix: ", "Secondary", color.FgHiGreen) - 3. To print multiple segments with individual colors: - PrintColored([]string{"Segment1 ", "Segment2 ", "Segment3"}, - []color.Attribute{color.FgHiGreen, color.FgHiMagenta}) - -Behavior: - - If the first argument is a []string, it expects a second argument as []color.Attribute and calls the dynamic printer. - - Otherwise, if the first argument is a string: - - With one argument, prints that string in white. - - With two arguments (both strings), prints the first in white and the second in default formatting. - - With additional arguments of type color.Attribute (or a slice thereof), uses them to color the prefix. -*/ -func PrintColored(args ...interface{}) { - if len(args) == 0 { - return - } - - // Dynamic mode: if the first argument is a []string. - if texts, ok := args[0].([]string); ok { - var colors []color.Attribute - if len(args) > 1 { - if cols, ok := args[1].([]color.Attribute); ok { - colors = cols - } - } - PrintColoredDynamicToStdout(texts, colors) - return - } - - // Otherwise, assume the first argument is a string. - prefix, ok := args[0].(string) - if !ok { - return - } - - secondary := "" - if len(args) >= 2 { - if sec, ok := args[1].(string); ok { - secondary = sec - } - } - - var attrs []color.Attribute - if len(args) > 2 { - // Collect any color attributes (supports individual values or a slice). - for _, arg := range args[2:] { - v := reflect.ValueOf(arg) - switch v.Kind() { - case reflect.Slice: - for i := 0; i < v.Len(); i++ { - item := v.Index(i).Interface() - if attr, ok := item.(color.Attribute); ok { - attrs = append(attrs, attr) - } - } - default: - if attr, ok := arg.(color.Attribute); ok { - attrs = append(attrs, attr) - } - } - } - } - - if len(attrs) == 0 { - attrs = append(attrs, color.FgWhite) - } - - FprintColored(os.Stdout, prefix, secondary, attrs...) -} +// File: pkg/utils/printcolor.go + +package utils + +import ( + "fmt" + "io" + "os" + "reflect" + + "github.com/fatih/color" +) + +/* +FprintColored writes a colored line to the provided writer. + +Parameters: + - w: The io.Writer where output is written. + - prefix: The string to print in the specified color (defaults to white if no color is provided). + - secondary: The string printed immediately after the colored prefix. + - attrs: Variadic color attributes; if none are provided, white is used. + +Usage: + + FprintColored(os.Stdout, "Loaded config from: ", configPath, color.FgHiGreen) + +Notes: + + If 'secondary' is empty, only the colored prefix is printed. +*/ +func FprintColored(w io.Writer, prefix, secondary string, attrs ...color.Attribute) { + var c *color.Color + if len(attrs) > 0 { + c = color.New(attrs...) + } else { + c = color.New(color.FgWhite) + } + if secondary != "" { + fmt.Fprintf(w, "%s%s\n", c.Sprint(prefix), secondary) + } else { + fmt.Fprintln(w, c.Sprint(prefix)) + } +} + +/* +FprintColoredDynamic writes multiple colored string segments to the provided writer on one line. + +Parameters: + - w: The io.Writer for output. + - texts: A slice of strings to print sequentially. + - colors: A slice of color attributes corresponding to each text. + If there are more texts than colors, the last provided color is used for the remaining texts. + +Usage: + + FprintColoredDynamic(os.Stdout, []string{"A ", "B ", "C"}, []color.Attribute{color.FgHiGreen, color.FgHiMagenta}) + +Notes: + + All text segments are printed on the same line, followed by a newline. +*/ +func FprintColoredDynamic(w io.Writer, texts []string, colors []color.Attribute) { + for i, text := range texts { + var attr color.Attribute + if i < len(colors) { + attr = colors[i] + } else if len(colors) > 0 { + attr = colors[len(colors)-1] + } else { + attr = color.FgWhite + } + fmt.Fprint(w, color.New(attr).Sprint(text)) + } + fmt.Fprintln(w) +} + +/* +PrintColoredDynamicToStdout is a convenience function that writes dynamic colored output to os.Stdout. +*/ +func PrintColoredDynamicToStdout(texts []string, colors []color.Attribute) { + FprintColoredDynamic(os.Stdout, texts, colors) +} + +/* +PrintColored is the main exported function for this utility. +It dynamically determines how to print colored output based on the types of arguments passed. + +Usage: + 1. To print a single string: + PrintColored("Just a string") + 2. To print a prefix and secondary string with a color: + PrintColored("Prefix: ", "Secondary", color.FgHiGreen) + 3. To print multiple segments with individual colors: + PrintColored([]string{"Segment1 ", "Segment2 ", "Segment3"}, + []color.Attribute{color.FgHiGreen, color.FgHiMagenta}) + +Behavior: + - If the first argument is a []string, it expects a second argument as []color.Attribute and calls the dynamic printer. + - Otherwise, if the first argument is a string: + - With one argument, prints that string in white. + - With two arguments (both strings), prints the first in white and the second in default formatting. + - With additional arguments of type color.Attribute (or a slice thereof), uses them to color the prefix. +*/ +func PrintColored(args ...interface{}) { + if len(args) == 0 { + return + } + + // Dynamic mode: if the first argument is a []string. + if texts, ok := args[0].([]string); ok { + var colors []color.Attribute + if len(args) > 1 { + if cols, ok := args[1].([]color.Attribute); ok { + colors = cols + } + } + PrintColoredDynamicToStdout(texts, colors) + return + } + + // Otherwise, assume the first argument is a string. + prefix, ok := args[0].(string) + if !ok { + return + } + + secondary := "" + if len(args) >= 2 { + if sec, ok := args[1].(string); ok { + secondary = sec + } + } + + var attrs []color.Attribute + if len(args) > 2 { + // Collect any color attributes (supports individual values or a slice). + for _, arg := range args[2:] { + v := reflect.ValueOf(arg) + switch v.Kind() { + case reflect.Slice: + for i := 0; i < v.Len(); i++ { + item := v.Index(i).Interface() + if attr, ok := item.(color.Attribute); ok { + attrs = append(attrs, attr) + } + } + default: + if attr, ok := arg.(color.Attribute); ok { + attrs = append(attrs, attr) + } + } + } + } + + if len(attrs) == 0 { + attrs = append(attrs, color.FgWhite) + } + + FprintColored(os.Stdout, prefix, secondary, attrs...) +} diff --git a/pkg/utils/printcolor_test.go b/pkg/utils/printcolor_test.go index 0836ea7..2fe1e97 100644 --- a/pkg/utils/printcolor_test.go +++ b/pkg/utils/printcolor_test.go @@ -1,136 +1,136 @@ -// File: pkg/utils/printcolor_test.go - -package utils - -import ( - "bytes" - "io" - "os" - "strings" - "testing" - - "github.com/fatih/color" -) - -/* -init sets the TERM environment variable to force color output during tests. -This ensures that ANSI escape sequences are emitted even in non-TTY environments. -*/ -func init() { - os.Setenv("TERM", "xterm-256color") - color.NoColor = false -} - -/* -captureStdout temporarily replaces os.Stdout with a pipe to capture output generated by the provided function. -It returns the captured output as a string. -*/ -func captureStdout(f func()) string { - oldStdout := os.Stdout - r, w, _ := os.Pipe() - os.Stdout = w - - f() - - w.Close() - os.Stdout = oldStdout - var buf bytes.Buffer - io.Copy(&buf, r) - return buf.String() -} - -/* -TestPrintColored_SingleString verifies that calling PrintColored with a single string prints that string in white. -We expect ANSI escape codes to be present due to the forced TERM setting. -*/ -func TestPrintColored_SingleString(t *testing.T) { - output := captureStdout(func() { - PrintColored("Just a test string") - }) - if !strings.Contains(output, "Just a test string") { - t.Errorf("Expected output to contain %q, got: %q", "Just a test string", output) - } - // Check that ANSI escape sequences are present. - if !strings.Contains(output, "\x1b[") { - t.Errorf("Expected output to contain ANSI escape codes, got: %q", output) - } -} - -/* -TestPrintColored_TwoStringsWithColor verifies that calling PrintColored with a prefix, secondary string, and a color attribute -prints the prefix in the specified color (high-intensity green) and the secondary text in default formatting. -*/ -func TestPrintColored_TwoStringsWithColor(t *testing.T) { - output := captureStdout(func() { - PrintColored("Prefix: ", "Value", color.FgHiGreen) - }) - if !strings.Contains(output, "Prefix: ") || !strings.Contains(output, "Value") { - t.Errorf("Expected output to contain both 'Prefix: ' and 'Value', got: %q", output) - } - // Check for ANSI escape code for high-intensity green (usually "\x1b[92m"). - if !strings.Contains(output, "\x1b[92m") { - t.Errorf("Expected output to contain ANSI code for high-intensity green, got: %q", output) - } -} - -/* -TestPrintColored_DynamicUsage verifies that calling PrintColored with a slice of strings and a slice of colors -results in multi-segment printing. It ensures that each segment is printed in its corresponding color, -and if there are more texts than colors, the last color is used for the remaining segments. -*/ -func TestPrintColored_DynamicUsage(t *testing.T) { - texts := []string{"Segment1 ", "Segment2 ", "Segment3"} - colors := []color.Attribute{color.FgHiGreen, color.FgHiMagenta} - output := captureStdout(func() { - PrintColored(texts, colors) - }) - for _, segment := range texts { - if !strings.Contains(output, segment) { - t.Errorf("Expected output to contain %q, got: %q", segment, output) - } - } - // Check for ANSI codes for high-intensity green and magenta. - if !strings.Contains(output, "\x1b[92m") { - t.Errorf("Expected output to contain ANSI code for high-intensity green, got: %q", output) - } - if !strings.Contains(output, "\x1b[95m") { - t.Errorf("Expected output to contain ANSI code for high-intensity magenta, got: %q", output) - } -} - -/* -TestPrintColored_MixedArguments verifies that PrintColored correctly handles mixed argument types. -It tests: - - Individual string arguments with a single color attribute. - - Slices of strings with a slice of color attributes. - -In both cases, it checks that the output includes the appropriate ANSI escape codes. -*/ -func TestPrintColored_MixedArguments(t *testing.T) { - // Case 1: Individual arguments. - output1 := captureStdout(func() { - PrintColored("Mixed1: ", "Value1", color.FgHiCyan) - }) - if !strings.Contains(output1, "Mixed1: ") || !strings.Contains(output1, "Value1") { - t.Errorf("Expected output1 to contain 'Mixed1: ' and 'Value1', got: %q", output1) - } - if !strings.Contains(output1, "\x1b[96m") { // ANSI for high-intensity cyan. - t.Errorf("Expected output1 to contain ANSI code for high-intensity cyan, got: %q", output1) - } - - // Case 2: Using slices for dynamic printing. - texts := []string{"Mixed2: ", "Value2"} - colors := []color.Attribute{color.FgHiYellow, color.FgHiBlue} - output2 := captureStdout(func() { - PrintColored(texts, colors) - }) - if !strings.Contains(output2, "Mixed2: ") || !strings.Contains(output2, "Value2") { - t.Errorf("Expected output2 to contain 'Mixed2: ' and 'Value2', got: %q", output2) - } - if !strings.Contains(output2, "\x1b[93m") { // ANSI for high-intensity yellow. - t.Errorf("Expected output2 to contain ANSI code for high-intensity yellow, got: %q", output2) - } - if !strings.Contains(output2, "\x1b[94m") { // ANSI for high-intensity blue. - t.Errorf("Expected output2 to contain ANSI code for high-intensity blue, got: %q", output2) - } -} +// File: pkg/utils/printcolor_test.go + +package utils + +import ( + "bytes" + "io" + "os" + "strings" + "testing" + + "github.com/fatih/color" +) + +/* +init sets the TERM environment variable to force color output during tests. +This ensures that ANSI escape sequences are emitted even in non-TTY environments. +*/ +func init() { + os.Setenv("TERM", "xterm-256color") + color.NoColor = false +} + +/* +captureStdout temporarily replaces os.Stdout with a pipe to capture output generated by the provided function. +It returns the captured output as a string. +*/ +func captureStdout(f func()) string { + oldStdout := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + + f() + + w.Close() + os.Stdout = oldStdout + var buf bytes.Buffer + io.Copy(&buf, r) + return buf.String() +} + +/* +TestPrintColored_SingleString verifies that calling PrintColored with a single string prints that string in white. +We expect ANSI escape codes to be present due to the forced TERM setting. +*/ +func TestPrintColored_SingleString(t *testing.T) { + output := captureStdout(func() { + PrintColored("Just a test string") + }) + if !strings.Contains(output, "Just a test string") { + t.Errorf("Expected output to contain %q, got: %q", "Just a test string", output) + } + // Check that ANSI escape sequences are present. + if !strings.Contains(output, "\x1b[") { + t.Errorf("Expected output to contain ANSI escape codes, got: %q", output) + } +} + +/* +TestPrintColored_TwoStringsWithColor verifies that calling PrintColored with a prefix, secondary string, and a color attribute +prints the prefix in the specified color (high-intensity green) and the secondary text in default formatting. +*/ +func TestPrintColored_TwoStringsWithColor(t *testing.T) { + output := captureStdout(func() { + PrintColored("Prefix: ", "Value", color.FgHiGreen) + }) + if !strings.Contains(output, "Prefix: ") || !strings.Contains(output, "Value") { + t.Errorf("Expected output to contain both 'Prefix: ' and 'Value', got: %q", output) + } + // Check for ANSI escape code for high-intensity green (usually "\x1b[92m"). + if !strings.Contains(output, "\x1b[92m") { + t.Errorf("Expected output to contain ANSI code for high-intensity green, got: %q", output) + } +} + +/* +TestPrintColored_DynamicUsage verifies that calling PrintColored with a slice of strings and a slice of colors +results in multi-segment printing. It ensures that each segment is printed in its corresponding color, +and if there are more texts than colors, the last color is used for the remaining segments. +*/ +func TestPrintColored_DynamicUsage(t *testing.T) { + texts := []string{"Segment1 ", "Segment2 ", "Segment3"} + colors := []color.Attribute{color.FgHiGreen, color.FgHiMagenta} + output := captureStdout(func() { + PrintColored(texts, colors) + }) + for _, segment := range texts { + if !strings.Contains(output, segment) { + t.Errorf("Expected output to contain %q, got: %q", segment, output) + } + } + // Check for ANSI codes for high-intensity green and magenta. + if !strings.Contains(output, "\x1b[92m") { + t.Errorf("Expected output to contain ANSI code for high-intensity green, got: %q", output) + } + if !strings.Contains(output, "\x1b[95m") { + t.Errorf("Expected output to contain ANSI code for high-intensity magenta, got: %q", output) + } +} + +/* +TestPrintColored_MixedArguments verifies that PrintColored correctly handles mixed argument types. +It tests: + - Individual string arguments with a single color attribute. + - Slices of strings with a slice of color attributes. + +In both cases, it checks that the output includes the appropriate ANSI escape codes. +*/ +func TestPrintColored_MixedArguments(t *testing.T) { + // Case 1: Individual arguments. + output1 := captureStdout(func() { + PrintColored("Mixed1: ", "Value1", color.FgHiCyan) + }) + if !strings.Contains(output1, "Mixed1: ") || !strings.Contains(output1, "Value1") { + t.Errorf("Expected output1 to contain 'Mixed1: ' and 'Value1', got: %q", output1) + } + if !strings.Contains(output1, "\x1b[96m") { // ANSI for high-intensity cyan. + t.Errorf("Expected output1 to contain ANSI code for high-intensity cyan, got: %q", output1) + } + + // Case 2: Using slices for dynamic printing. + texts := []string{"Mixed2: ", "Value2"} + colors := []color.Attribute{color.FgHiYellow, color.FgHiBlue} + output2 := captureStdout(func() { + PrintColored(texts, colors) + }) + if !strings.Contains(output2, "Mixed2: ") || !strings.Contains(output2, "Value2") { + t.Errorf("Expected output2 to contain 'Mixed2: ' and 'Value2', got: %q", output2) + } + if !strings.Contains(output2, "\x1b[93m") { // ANSI for high-intensity yellow. + t.Errorf("Expected output2 to contain ANSI code for high-intensity yellow, got: %q", output2) + } + if !strings.Contains(output2, "\x1b[94m") { // ANSI for high-intensity blue. + t.Errorf("Expected output2 to contain ANSI code for high-intensity blue, got: %q", output2) + } +} From 7c3a063bd361670e83708adeb886818ef5d2e255 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Fri, 14 Feb 2025 05:38:51 -0600 Subject: [PATCH 21/47] Makefile changes, formatting for coverage --- Makefile | 3 +- scripts/coverage_formatter.go | 146 ++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 scripts/coverage_formatter.go diff --git a/Makefile b/Makefile index cfd6438..98fa0ec 100644 --- a/Makefile +++ b/Makefile @@ -128,7 +128,8 @@ test: $(TEST_STAMP) # ------------------------------------------------------------------------------ coverage: $(TEST_STAMP) @echo "================== COVERAGE SUMMARY ==================" - go tool cover -func="$(COVER_PROFILE)" + go tool cover -func="$(COVER_PROFILE)" \ + | go run ./scripts/coverage_formatter.go @echo "=====================================================" # ------------------------------------------------------------------------------ diff --git a/scripts/coverage_formatter.go b/scripts/coverage_formatter.go new file mode 100644 index 0000000..b1bb941 --- /dev/null +++ b/scripts/coverage_formatter.go @@ -0,0 +1,146 @@ +// File: scripts/coverage_formatter.go +package main + +import ( + "bufio" + "fmt" + "os" + "path/filepath" + "regexp" + "strconv" + "strings" + + "github.com/fatih/color" +) + +// detailedCoverageRegex matches typical coverage detail lines from `go tool cover -func`. +// Example of a matched line: +// +// github.com/.../file.go:31: funcName 100.0% +var detailedCoverageRegex = regexp.MustCompile(`^([^:]+\.go):(\d+):(\s+)(\S+)(\s+)([0-9]+\.[0-9]+%)$`) + +// fallbackCoverageRegex matches coverage percentages in lines that do not match +// the above pattern (e.g., "total: (statements) 70.0%"). +var fallbackCoverageRegex = regexp.MustCompile(`([0-9]+\.[0-9]+%)`) + +// Coverage thresholds for color-coding coverage percentages. +const ( + HighCoverageThreshold = 80.0 + MediumCoverageThreshold = 50.0 +) + +// Color styles for different parts of a coverage line. +var ( + dirStyle = color.New(color.FgWhite).Add(color.Bold) + fileStyle = color.New(color.FgCyan).Add(color.Bold) + lineNumStyle = color.New(color.FgMagenta).Add(color.Bold) + funcStyle = color.New(color.FgHiBlue) + colorHighCov = color.New(color.FgGreen) + colorMidCov = color.New(color.FgYellow) + colorLowCov = color.New(color.FgRed) +) + +// main reads from stdin and prints out styled coverage lines to stdout. +// Usage example: +// +// go tool cover -func=coverage.out | go run ./scripts/coverage_formatter.go +func main() { + scanner := bufio.NewScanner(os.Stdin) + for scanner.Scan() { + originalLine := scanner.Text() + styledLine := styleCoverageLine(originalLine) + fmt.Println(styledLine) + } + + if err := scanner.Err(); err != nil { + fmt.Fprintf(os.Stderr, "Error reading stdin: %v\n", err) + os.Exit(1) + } +} + +// styleCoverageLine determines whether a line is a "detailed coverage" line +// (i.e., matching our `detailedCoverageRegex`) or a fallback line +// (like "total: (statements) 70.0%"). It returns the colorized version +// while preserving all original spacing. +func styleCoverageLine(line string) string { + // Attempt to match the "detailed coverage" regex. + if matches := detailedCoverageRegex.FindStringSubmatch(line); matches != nil { + // Matches structure: + // [1]: fullPath => e.g. "github.com/.../file.go" + // [2]: lineNumber => e.g. "31" + // [3]: spacingBeforeFunc => e.g. " " + // [4]: funcName => e.g. "init" + // [5]: spacingBeforeCoverage => e.g. " " + // [6]: coverageStr => e.g. "100.0%" + + fullPath := matches[1] + lineNumber := matches[2] + spacingBeforeFunc := matches[3] + funcName := matches[4] + spacingBeforeCoverage := matches[5] + coverageString := matches[6] + + coloredFilePath := formatPathAndFile(fullPath) + coloredLineNumber := lineNumStyle.Sprint(lineNumber) + coloredFunction := funcStyle.Sprint(funcName) + coloredCoverage := colorizeCoverage(coverageString) + + // Rebuild the line EXACTLY with the original spacing. + // e.g.: "github.com/.../file.go:31:" + spacingBeforeFunc + funcName + spacingBeforeCoverage + coverage + return fmt.Sprintf("%s:%s:%s%s%s%s", + coloredFilePath, + coloredLineNumber, + spacingBeforeFunc, + coloredFunction, + spacingBeforeCoverage, + coloredCoverage, + ) + } + + // If the line does not match our detailed coverage pattern, + // we look for coverage percentages (e.g., "70.0%") and colorize them. + return colorizeCoverageInLine(line) +} + +// formatPathAndFile splits a path like "dir/subdir/file.go", coloring the directory +// part differently from the file name. If there's no directory component, it just +// colors the file name. Example output might look like: +// +// github.com/.../dir/ file.go +// +// with dir vs. file in different colors. +func formatPathAndFile(fullPath string) string { + dir := filepath.Dir(fullPath) + file := filepath.Base(fullPath) + + if dir == "." || dir == "" { + return fileStyle.Sprint(file) + } + return dirStyle.Sprintf("%s/", dir) + fileStyle.Sprint(file) +} + +// colorizeCoverageInLine scans a fallback line for coverage percentages +// (e.g., "70.0%") and colorizes them in-place. +func colorizeCoverageInLine(line string) string { + return fallbackCoverageRegex.ReplaceAllStringFunc(line, func(match string) string { + return colorizeCoverage(match) + }) +} + +// colorizeCoverage picks a color based on numeric coverage thresholds, returning +// a styled string. For instance, "100.0%" might return green text, "60.0%" yellow, etc. +func colorizeCoverage(coverageStr string) string { + rawNumber := strings.TrimSuffix(coverageStr, "%") + coverageValue, parseErr := strconv.ParseFloat(rawNumber, 64) + if parseErr != nil { + return coverageStr // fallback: invalid numeric + } + switch { + case coverageValue >= HighCoverageThreshold: + return colorHighCov.Sprint(coverageStr) + case coverageValue >= MediumCoverageThreshold: + return colorMidCov.Sprint(coverageStr) + default: + return colorLowCov.Sprint(coverageStr) + } +} From da61157acb8ff80c402d86e4edc493bcafd4e2ee Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Fri, 14 Feb 2025 12:13:15 -0600 Subject: [PATCH 22/47] Better consistency on makefile output. --- Makefile | 180 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 91 insertions(+), 89 deletions(-) diff --git a/Makefile b/Makefile index 98fa0ec..bd8a7e7 100644 --- a/Makefile +++ b/Makefile @@ -1,60 +1,93 @@ -.PHONY: build run test install tree coverage ensure-gotestsum +# File: Makefile +# Purpose: +# - "install": ensure modules are tidy if go.mod or go.sum changed. +# - "build": recompile binary if Go source or mod files changed. +# - "test": run coverage if code changed. +# - "coverage": display coverage summary from coverage.out +# - "run": executes the compiled binary +# - All skip with "No changes detected, skipping X." if nothing changed. -BUILD_DIR := build -BINARY := $(BUILD_DIR)/scrapeycli +.PHONY: install build run test coverage ensure-gotestsum tree -COVER_DIR := coverage -COVER_PROFILE := $(COVER_DIR)/coverage.txt -COVER_HTML := $(COVER_DIR)/coverage.html +# Directories for build artifacts and stamp files +BUILD_DIR := build +STAMPS_DIR := $(BUILD_DIR)/.stamps -BUILD_STAMP := $(BUILD_DIR)/.stamp -TEST_STAMP := $(COVER_DIR)/.stamp +# Stamp file paths for each step +INSTALL_STAMP := $(STAMPS_DIR)/install.stamp +BUILD_STAMP := $(STAMPS_DIR)/build.stamp +TEST_STAMP := $(STAMPS_DIR)/test.stamp -GO_FILES := $(shell find . -type f -name '*.go' -not -path "./vendor/*") +BINARY := $(BUILD_DIR)/scrapeycli + +# Coverage output +COVER_DIR := coverage +COVER_PROFILE := $(COVER_DIR)/coverage.txt +COVER_HTML := $(COVER_DIR)/coverage.html + +# All Go source files (including _test.go files) +GO_FILES := $(shell find . -type f -name '*.go' -not -path "./vendor/*") + +# Reusable messages +SKIP_MSG := No changes detected, skipping +CHANGE_MSG := Changes detected # ------------------------------------------------------------------------------ -# install: ensure modules are tidy + go.sum is up-to-date +# install: Ensure go.mod/go.sum are tidy. +# This target always runs its recipe (via a phony dependency) and prints either +# "Changes detected, running 'go mod tidy' for install..." or "No changes detected, skipping install." # ------------------------------------------------------------------------------ -install: - go mod tidy - @if ! git diff --exit-code go.sum; then \ - echo "go.sum is not up-to-date. Please commit the changes to go.sum."; \ - exit 1; \ +install: $(INSTALL_STAMP) + +$(INSTALL_STAMP): go.mod go.sum + @mkdir -p $(STAMPS_DIR) + @TARGET=install; \ + if [ ! -f "$@" ] || [ go.mod -nt "$@" ] || [ go.sum -nt "$@" ]; then \ + echo "$(CHANGE_MSG), running 'go mod tidy' for $$TARGET..."; \ + go mod tidy; \ + if ! git diff --exit-code go.sum; then \ + echo "go.sum updated. Please commit the changes."; \ + exit 1; \ + fi; \ + touch "$@"; \ + echo "Done with 'make $$TARGET'."; \ + else \ + echo "$(SKIP_MSG) $$TARGET."; \ fi # ------------------------------------------------------------------------------ -# build: only rebuild if .go, go.mod, or go.sum are newer than BUILD_STAMP +# build: Rebuild binary if any .go file or go.mod/go.sum changed. # ------------------------------------------------------------------------------ -build: install $(GO_FILES) go.mod go.sum - @mkdir -p $(BUILD_DIR) - @if [ ! -f "$(BUILD_STAMP)" ] \ - || [ -n "$$(find . -name '*.go' -newer "$(BUILD_STAMP)")" ] \ - || [ go.mod -nt "$(BUILD_STAMP)" ] \ - || [ go.sum -nt "$(BUILD_STAMP)" ]; then \ - echo "Changes detected, rebuilding..."; \ - go build -o "$(BINARY)" ./cmd/scrapeycli && touch "$(BUILD_STAMP)"; \ +build: $(BUILD_STAMP) + +$(BUILD_STAMP): $(INSTALL_STAMP) $(GO_FILES) go.mod go.sum + @mkdir -p $(BUILD_DIR) $(STAMPS_DIR) + @TARGET=build; \ + if [ ! -f "$@" ] || [ -n "$$(find . -name '*.go' -newer "$@")" ] || [ go.mod -nt "$@" ] || [ go.sum -nt "$@" ]; then \ + echo "$(CHANGE_MSG), rebuilding $$TARGET..."; \ + go build -o "$(BINARY)" ./cmd/scrapeycli; \ + touch "$@"; \ + echo "Done with 'make $$TARGET'."; \ else \ - echo "No changes detected, skipping rebuild."; \ + echo "$(SKIP_MSG) $$TARGET."; \ fi # ------------------------------------------------------------------------------ -# run: executes the built binary +# run: Execute the compiled binary. # ------------------------------------------------------------------------------ CONFIG_FLAG = ifdef CONFIG CONFIG_FLAG := --config $(CONFIG) endif - URL_FLAG = ifdef URL URL_FLAG := --url $(URL) endif - run: build - ./$(BINARY) $(CONFIG_FLAG) $(URL_FLAG) + @./$(BINARY) $(CONFIG_FLAG) $(URL_FLAG) # ------------------------------------------------------------------------------ -# ensure-gotestsum: install gotestsum if missing +# ensure-gotestsum: Installs gotestsum if missing. # ------------------------------------------------------------------------------ ensure-gotestsum: @if ! command -v gotestsum >/dev/null 2>&1; then \ @@ -63,77 +96,46 @@ ensure-gotestsum: fi # ------------------------------------------------------------------------------ -# TEST_STAMP RULE: -# If the stamp doesn't exist, run tests. Otherwise, check if anything is newer. -# If so, run tests. If not, skip. +# test: Run tests (and update coverage) if any Go files (including _test.go) have changed. # ------------------------------------------------------------------------------ +test: $(TEST_STAMP) + $(TEST_STAMP): ensure-gotestsum - @mkdir -p $(COVER_DIR) - @if [ ! -f "$@" ]; then \ - echo "No test stamp found; running tests..."; \ - gotestsum --format short-verbose ./... -- \ - -cover \ - -covermode=atomic \ - -coverpkg=./... \ - -coverprofile="$(COVER_PROFILE)"; \ - if [ -d test ] && ls test/*.go >/dev/null 2>&1; then \ - echo "Merging coverage from ./test directory..."; \ - gotestsum --format short-verbose ./test -- \ - -cover \ - -covermode=atomic \ - -coverpkg=./... \ - -coverprofile="$(COVER_PROFILE)" \ - -append; \ - else \ - echo "Skipping ./test folder (no Go files found)."; \ - fi; \ - go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)"; \ - touch "$@"; \ - echo "Tests complete. Coverage file generated at: $(COVER_PROFILE)"; \ - echo "HTML coverage report at: $(COVER_HTML)"; \ + @mkdir -p $(COVER_DIR) $(STAMPS_DIR) + @TARGET=test; \ + if [ ! -f "$@" ]; then \ + echo "No $$TARGET stamp found; running $$TARGET..."; \ + $(MAKE) --no-print-directory do-coverage-run; \ elif [ -n "$$(find $(GO_FILES) go.mod go.sum -type f -newer "$@" 2>/dev/null)" ]; then \ - echo "Some files changed; re-running tests..."; \ - gotestsum --format short-verbose ./... -- \ - -cover \ - -covermode=atomic \ - -coverpkg=./... \ - -coverprofile="$(COVER_PROFILE)"; \ - if [ -d test ] && ls test/*.go >/dev/null 2>&1; then \ - echo "Merging coverage from ./test directory..."; \ - gotestsum --format short-verbose ./test -- \ - -cover \ - -covermode=atomic \ - -coverpkg=./... \ - -coverprofile="$(COVER_PROFILE)" \ - -append; \ - else \ - echo "Skipping ./test folder (no Go files found)."; \ - fi; \ - go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)"; \ - touch "$@"; \ - echo "Tests complete. Coverage file generated at: $(COVER_PROFILE)"; \ - echo "HTML coverage report at: $(COVER_HTML)"; \ + echo "Some files changed; re-running $$TARGET..."; \ + $(MAKE) --no-print-directory do-coverage-run; \ else \ - echo "No changes detected; skipping test run."; \ + echo "$(SKIP_MSG) $$TARGET."; \ fi -# ------------------------------------------------------------------------------ -# test: ensures TEST_STAMP is fresh. If no changes, it won't re-run tests. -# ------------------------------------------------------------------------------ -test: $(TEST_STAMP) - @echo "Done with 'make test'." +.PHONY: do-coverage-run +do-coverage-run: + gotestsum --format short-verbose ./... -- -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" + @if [ -d test ] && ls test/*.go >/dev/null 2>&1; then \ + echo "Merging coverage from ./test directory..."; \ + gotestsum --format short-verbose ./test -- -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" -append; \ + else \ + echo "Skipping ./test folder (no Go files found)."; \ + fi + go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)" + touch "$(TEST_STAMP)" + echo "Done with 'make test'." # ------------------------------------------------------------------------------ -# coverage: ensures TEST_STAMP is fresh, then prints coverage summary +# coverage: Display a colorized coverage summary. # ------------------------------------------------------------------------------ -coverage: $(TEST_STAMP) +coverage: test @echo "================== COVERAGE SUMMARY ==================" - go tool cover -func="$(COVER_PROFILE)" \ - | go run ./scripts/coverage_formatter.go + @go tool cover -func="$(COVER_PROFILE)" | go run ./scripts/coverage_formatter.go @echo "=====================================================" # ------------------------------------------------------------------------------ -# tree: show directory structure (installs tree if missing) +# tree: Display directory structure (installs tree if missing) # ------------------------------------------------------------------------------ tree: @if ! command -v tree >/dev/null 2>&1; then \ @@ -144,7 +146,7 @@ tree: elif [ "$$OS" = "Darwin" ]; then \ brew install tree; \ else \ - echo "Automatic installation of 'tree' is not supported on $$OS. Please install manually."; \ + echo "Automatic installation not supported on $$OS. Please install manually."; \ exit 1; \ fi; \ else \ From 525e2f53ef7225f1c5eeb826f464105f61296a52 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Fri, 14 Feb 2025 14:03:19 -0600 Subject: [PATCH 23/47] Slight tweaks to makefile output --- Makefile | 61 +++++++++++++++++++++++++------------------------- test/README.md | 4 ++++ 2 files changed, 34 insertions(+), 31 deletions(-) create mode 100644 test/README.md diff --git a/Makefile b/Makefile index bd8a7e7..7ed3e95 100644 --- a/Makefile +++ b/Makefile @@ -30,50 +30,45 @@ GO_FILES := $(shell find . -type f -name '*.go' -not -path "./vendor/*") # Reusable messages SKIP_MSG := No changes detected, skipping -CHANGE_MSG := Changes detected +CHANGE_MSG := $(SKIP_MSG:No changes detected, skipping=Some files changed; re-running) # ------------------------------------------------------------------------------ -# install: Ensure go.mod/go.sum are tidy. -# This target always runs its recipe (via a phony dependency) and prints either -# "Changes detected, running 'go mod tidy' for install..." or "No changes detected, skipping install." +# install: ensure go.mod/go.sum are tidy if changed. +# Always run this recipe to print a message. # ------------------------------------------------------------------------------ -install: $(INSTALL_STAMP) - -$(INSTALL_STAMP): go.mod go.sum +install: @mkdir -p $(STAMPS_DIR) @TARGET=install; \ - if [ ! -f "$@" ] || [ go.mod -nt "$@" ] || [ go.sum -nt "$@" ]; then \ - echo "$(CHANGE_MSG), running 'go mod tidy' for $$TARGET..."; \ + if [ ! -f "$(INSTALL_STAMP)" ] || [ go.mod -nt "$(INSTALL_STAMP)" ] || [ go.sum -nt "$(INSTALL_STAMP)" ]; then \ + echo "$(CHANGE_MSG) $$TARGET..."; \ go mod tidy; \ if ! git diff --exit-code go.sum; then \ echo "go.sum updated. Please commit the changes."; \ exit 1; \ fi; \ - touch "$@"; \ + touch "$(INSTALL_STAMP)"; \ echo "Done with 'make $$TARGET'."; \ else \ echo "$(SKIP_MSG) $$TARGET."; \ fi # ------------------------------------------------------------------------------ -# build: Rebuild binary if any .go file or go.mod/go.sum changed. +# build: recompile binary if any .go, go.mod, or go.sum changed. # ------------------------------------------------------------------------------ -build: $(BUILD_STAMP) - -$(BUILD_STAMP): $(INSTALL_STAMP) $(GO_FILES) go.mod go.sum +build: @mkdir -p $(BUILD_DIR) $(STAMPS_DIR) @TARGET=build; \ - if [ ! -f "$@" ] || [ -n "$$(find . -name '*.go' -newer "$@")" ] || [ go.mod -nt "$@" ] || [ go.sum -nt "$@" ]; then \ - echo "$(CHANGE_MSG), rebuilding $$TARGET..."; \ + if [ ! -f "$(BUILD_STAMP)" ] || [ -n "$$(find . -name '*.go' -newer "$(BUILD_STAMP)")" ] || [ go.mod -nt "$(BUILD_STAMP)" ] || [ go.sum -nt "$(BUILD_STAMP)" ]; then \ + echo "$(CHANGE_MSG) $$TARGET..."; \ go build -o "$(BINARY)" ./cmd/scrapeycli; \ - touch "$@"; \ + touch "$(BUILD_STAMP)"; \ echo "Done with 'make $$TARGET'."; \ else \ echo "$(SKIP_MSG) $$TARGET."; \ fi # ------------------------------------------------------------------------------ -# run: Execute the compiled binary. +# run: executes the compiled binary. # ------------------------------------------------------------------------------ CONFIG_FLAG = ifdef CONFIG @@ -87,7 +82,7 @@ run: build @./$(BINARY) $(CONFIG_FLAG) $(URL_FLAG) # ------------------------------------------------------------------------------ -# ensure-gotestsum: Installs gotestsum if missing. +# ensure-gotestsum: installs gotestsum if missing. # ------------------------------------------------------------------------------ ensure-gotestsum: @if ! command -v gotestsum >/dev/null 2>&1; then \ @@ -96,38 +91,42 @@ ensure-gotestsum: fi # ------------------------------------------------------------------------------ -# test: Run tests (and update coverage) if any Go files (including _test.go) have changed. +# test: run tests and update coverage if any Go source (including _test.go files) have changed. +# Only run tests if changes are detected; otherwise, print skip message. # ------------------------------------------------------------------------------ -test: $(TEST_STAMP) - -$(TEST_STAMP): ensure-gotestsum +test: @mkdir -p $(COVER_DIR) $(STAMPS_DIR) @TARGET=test; \ - if [ ! -f "$@" ]; then \ + if [ ! -f "$(TEST_STAMP)" ]; then \ echo "No $$TARGET stamp found; running $$TARGET..."; \ $(MAKE) --no-print-directory do-coverage-run; \ - elif [ -n "$$(find $(GO_FILES) go.mod go.sum -type f -newer "$@" 2>/dev/null)" ]; then \ - echo "Some files changed; re-running $$TARGET..."; \ + echo "Done with 'make $$TARGET'."; \ + elif [ -n "$$(find $(GO_FILES) go.mod go.sum -type f -newer "$(TEST_STAMP)" 2>/dev/null)" ]; then \ + echo "$(CHANGE_MSG) $$TARGET..."; \ $(MAKE) --no-print-directory do-coverage-run; \ + echo "Done with 'make $$TARGET'."; \ else \ echo "$(SKIP_MSG) $$TARGET."; \ fi .PHONY: do-coverage-run do-coverage-run: - gotestsum --format short-verbose ./... -- -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" + gotestsum --format short-verbose ./... -- \ + -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" @if [ -d test ] && ls test/*.go >/dev/null 2>&1; then \ echo "Merging coverage from ./test directory..."; \ - gotestsum --format short-verbose ./test -- -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" -append; \ + gotestsum --format short-verbose ./test -- \ + -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" -append; \ else \ echo "Skipping ./test folder (no Go files found)."; \ fi go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)" touch "$(TEST_STAMP)" - echo "Done with 'make test'." + @echo "Tests complete. Coverage file generated at: $(COVER_PROFILE)" + @echo "HTML coverage report at: $(COVER_HTML)" # ------------------------------------------------------------------------------ -# coverage: Display a colorized coverage summary. +# coverage: displays a colorized coverage summary from the coverage file. # ------------------------------------------------------------------------------ coverage: test @echo "================== COVERAGE SUMMARY ==================" @@ -135,7 +134,7 @@ coverage: test @echo "=====================================================" # ------------------------------------------------------------------------------ -# tree: Display directory structure (installs tree if missing) +# tree: displays directory structure (installs tree if missing). # ------------------------------------------------------------------------------ tree: @if ! command -v tree >/dev/null 2>&1; then \ diff --git a/test/README.md b/test/README.md new file mode 100644 index 0000000..8a167eb --- /dev/null +++ b/test/README.md @@ -0,0 +1,4 @@ +# Test Directory + +This directory is reserved for additional non-specific component tests. +Place your extra tests here to have them run during `make test`. From 907722ebf5a2068e61c0c8af6429a8a3e524eee0 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 13:25:22 -0600 Subject: [PATCH 24/47] Coverage being generated --- .gitignore | 4 -- Makefile | 127 ++++++++++++++++++++++++----------------------------- 2 files changed, 58 insertions(+), 73 deletions(-) diff --git a/.gitignore b/.gitignore index bd43564..9de3c88 100644 --- a/.gitignore +++ b/.gitignore @@ -14,10 +14,6 @@ dist # Test binaries (built with `go test -c`) *.test -# Output of the go coverage tool -*.out -coverage - # Dependency directories vendor diff --git a/Makefile b/Makefile index 7ed3e95..a65c547 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,14 @@ # File: Makefile # Purpose: # - "install": ensure modules are tidy if go.mod or go.sum changed. -# - "build": recompile binary if Go source or mod files changed. # - "test": run coverage if code changed. # - "coverage": display coverage summary from coverage.out +# - "build": recompile binary if Go source or mod files changed. # - "run": executes the compiled binary +# - "tree": display directory structure # - All skip with "No changes detected, skipping X." if nothing changed. -.PHONY: install build run test coverage ensure-gotestsum tree +.PHONY: install test coverage build run tree # Directories for build artifacts and stamp files BUILD_DIR := build @@ -21,7 +22,7 @@ TEST_STAMP := $(STAMPS_DIR)/test.stamp BINARY := $(BUILD_DIR)/scrapeycli # Coverage output -COVER_DIR := coverage +COVER_DIR := ${BUILD_DIR}/coverage COVER_PROFILE := $(COVER_DIR)/coverage.txt COVER_HTML := $(COVER_DIR)/coverage.html @@ -30,11 +31,10 @@ GO_FILES := $(shell find . -type f -name '*.go' -not -path "./vendor/*") # Reusable messages SKIP_MSG := No changes detected, skipping -CHANGE_MSG := $(SKIP_MSG:No changes detected, skipping=Some files changed; re-running) +CHANGE_MSG := Some files changed; re-running # ------------------------------------------------------------------------------ # install: ensure go.mod/go.sum are tidy if changed. -# Always run this recipe to print a message. # ------------------------------------------------------------------------------ install: @mkdir -p $(STAMPS_DIR) @@ -47,92 +47,83 @@ install: exit 1; \ fi; \ touch "$(INSTALL_STAMP)"; \ - echo "Done with 'make $$TARGET'."; \ - else \ - echo "$(SKIP_MSG) $$TARGET."; \ - fi - -# ------------------------------------------------------------------------------ -# build: recompile binary if any .go, go.mod, or go.sum changed. -# ------------------------------------------------------------------------------ -build: - @mkdir -p $(BUILD_DIR) $(STAMPS_DIR) - @TARGET=build; \ - if [ ! -f "$(BUILD_STAMP)" ] || [ -n "$$(find . -name '*.go' -newer "$(BUILD_STAMP)")" ] || [ go.mod -nt "$(BUILD_STAMP)" ] || [ go.sum -nt "$(BUILD_STAMP)" ]; then \ - echo "$(CHANGE_MSG) $$TARGET..."; \ - go build -o "$(BINARY)" ./cmd/scrapeycli; \ - touch "$(BUILD_STAMP)"; \ - echo "Done with 'make $$TARGET'."; \ + echo "Done with installing."; \ else \ echo "$(SKIP_MSG) $$TARGET."; \ fi # ------------------------------------------------------------------------------ -# run: executes the compiled binary. -# ------------------------------------------------------------------------------ -CONFIG_FLAG = -ifdef CONFIG - CONFIG_FLAG := --config $(CONFIG) -endif -URL_FLAG = -ifdef URL - URL_FLAG := --url $(URL) -endif -run: build - @./$(BINARY) $(CONFIG_FLAG) $(URL_FLAG) - -# ------------------------------------------------------------------------------ -# ensure-gotestsum: installs gotestsum if missing. +# test: run tests and update coverage if any Go source (including _test.go files) have changed. +# Ensures gotestsum is installed before running tests. +# Depends on install. # ------------------------------------------------------------------------------ -ensure-gotestsum: +test: install @if ! command -v gotestsum >/dev/null 2>&1; then \ echo "Installing gotestsum..."; \ go install gotest.tools/gotestsum@latest; \ fi - -# ------------------------------------------------------------------------------ -# test: run tests and update coverage if any Go source (including _test.go files) have changed. -# Only run tests if changes are detected; otherwise, print skip message. -# ------------------------------------------------------------------------------ -test: @mkdir -p $(COVER_DIR) $(STAMPS_DIR) @TARGET=test; \ - if [ ! -f "$(TEST_STAMP)" ]; then \ - echo "No $$TARGET stamp found; running $$TARGET..."; \ - $(MAKE) --no-print-directory do-coverage-run; \ - echo "Done with 'make $$TARGET'."; \ - elif [ -n "$$(find $(GO_FILES) go.mod go.sum -type f -newer "$(TEST_STAMP)" 2>/dev/null)" ]; then \ + if [ ! -f "$(TEST_STAMP)" ] || [ ! -f "$(COVER_PROFILE)" ] || [ ! -f "$(COVER_HTML)" ] || \ + [ -n "$$(find $(GO_FILES) -newer "$(TEST_STAMP)" 2>/dev/null)" ]; then \ echo "$(CHANGE_MSG) $$TARGET..."; \ - $(MAKE) --no-print-directory do-coverage-run; \ - echo "Done with 'make $$TARGET'."; \ + > "$(COVER_PROFILE)"; \ + gotestsum --format short-verbose ./... -- \ + -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)"; \ + if [ -d test ] && ls test/*.go >/dev/null 2>&1; then \ + echo "Merging coverage from ./test directory..."; \ + gotestsum --format short-verbose ./test -- \ + -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" -append; \ + else \ + echo "Skipping ./test folder (no Go files found)."; \ + fi; \ + if [ -f "$(COVER_PROFILE)" ]; then \ + go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)"; \ + echo "Coverage file generated at: $(COVER_PROFILE)"; \ + echo "HTML coverage report at: $(COVER_HTML)"; \ + else \ + echo "ERROR: Coverage file was not generated!"; \ + fi; \ + ls -lah $(COVER_DIR); \ + touch "$(TEST_STAMP)"; \ else \ echo "$(SKIP_MSG) $$TARGET."; \ fi -.PHONY: do-coverage-run -do-coverage-run: - gotestsum --format short-verbose ./... -- \ - -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" - @if [ -d test ] && ls test/*.go >/dev/null 2>&1; then \ - echo "Merging coverage from ./test directory..."; \ - gotestsum --format short-verbose ./test -- \ - -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" -append; \ - else \ - echo "Skipping ./test folder (no Go files found)."; \ - fi - go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)" - touch "$(TEST_STAMP)" - @echo "Tests complete. Coverage file generated at: $(COVER_PROFILE)" - @echo "HTML coverage report at: $(COVER_HTML)" - # ------------------------------------------------------------------------------ # coverage: displays a colorized coverage summary from the coverage file. +# Depends on test. # ------------------------------------------------------------------------------ coverage: test @echo "================== COVERAGE SUMMARY ==================" @go tool cover -func="$(COVER_PROFILE)" | go run ./scripts/coverage_formatter.go @echo "=====================================================" +# ------------------------------------------------------------------------------ +# build: compile binary if Go sources changed. +# Depends on install. +# ------------------------------------------------------------------------------ +build: install + @mkdir -p $(BUILD_DIR) + @mkdir -p $(STAMPS_DIR) + @TARGET=build; \ + if [ ! -f "$(BUILD_STAMP)" ] || [ -n "$$(find $(GO_FILES) -newer "$(BUILD_STAMP)" 2>/dev/null)" ]; then \ + echo "$(CHANGE_MSG) $$TARGET..."; \ + go build -o $(BINARY) ./cmd/scrapeycli; \ + touch "$(BUILD_STAMP)"; \ + echo "Done with building."; \ + else \ + echo "$(SKIP_MSG) $$TARGET."; \ + fi + +# ------------------------------------------------------------------------------ +# run: execute the compiled binary. +# Depends on build. +# ------------------------------------------------------------------------------ +run: build + @echo "Running application..." + @$(BINARY) + # ------------------------------------------------------------------------------ # tree: displays directory structure (installs tree if missing). # ------------------------------------------------------------------------------ @@ -148,7 +139,5 @@ tree: echo "Automatic installation not supported on $$OS. Please install manually."; \ exit 1; \ fi; \ - else \ - echo "tree command found, skipping installation."; \ fi; \ - tree -n -I "vendor|.git" + tree -n -I "vendor|.git" \ No newline at end of file From 3addb4dae92820aaaa6fff1c316f5744dc5df27d Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 13:33:20 -0600 Subject: [PATCH 25/47] Cleaning up output --- Makefile | 31 +++++++++++++------------------ test/fail_test.go | 9 +++++++++ 2 files changed, 22 insertions(+), 18 deletions(-) create mode 100644 test/fail_test.go diff --git a/Makefile b/Makefile index a65c547..1f3cee4 100644 --- a/Makefile +++ b/Makefile @@ -64,28 +64,23 @@ test: install fi @mkdir -p $(COVER_DIR) $(STAMPS_DIR) @TARGET=test; \ - if [ ! -f "$(TEST_STAMP)" ] || [ ! -f "$(COVER_PROFILE)" ] || [ ! -f "$(COVER_HTML)" ] || \ - [ -n "$$(find $(GO_FILES) -newer "$(TEST_STAMP)" 2>/dev/null)" ]; then \ + if [ ! -f "$(TEST_STAMP)" ] || [ -n "$$(find $(GO_FILES) -newer "$(TEST_STAMP)" 2>/dev/null)" ]; then \ echo "$(CHANGE_MSG) $$TARGET..."; \ > "$(COVER_PROFILE)"; \ - gotestsum --format short-verbose ./... -- \ - -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)"; \ - if [ -d test ] && ls test/*.go >/dev/null 2>&1; then \ - echo "Merging coverage from ./test directory..."; \ - gotestsum --format short-verbose ./test -- \ - -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" -append; \ + if gotestsum --format short-verbose ./... && \ + go test -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" ./... >/dev/null; then \ + if [ -f "$(COVER_PROFILE)" ]; then \ + go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)"; \ + echo "Coverage file generated at: $(COVER_PROFILE)"; \ + echo "HTML coverage report at: $(COVER_HTML)"; \ + else \ + echo "ERROR: Coverage file was not generated!"; \ + fi; \ + touch "$(TEST_STAMP)"; \ else \ - echo "Skipping ./test folder (no Go files found)."; \ - fi; \ - if [ -f "$(COVER_PROFILE)" ]; then \ - go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)"; \ - echo "Coverage file generated at: $(COVER_PROFILE)"; \ - echo "HTML coverage report at: $(COVER_HTML)"; \ - else \ - echo "ERROR: Coverage file was not generated!"; \ + echo "Tests failed! Skipping stamp update."; \ + exit 1; \ fi; \ - ls -lah $(COVER_DIR); \ - touch "$(TEST_STAMP)"; \ else \ echo "$(SKIP_MSG) $$TARGET."; \ fi diff --git a/test/fail_test.go b/test/fail_test.go new file mode 100644 index 0000000..be512f3 --- /dev/null +++ b/test/fail_test.go @@ -0,0 +1,9 @@ +package main + +import ( + "testing" +) + +func TestAlwaysFail(t *testing.T) { + // t.Errorf("This test is designed to fail!") +} From a34773ade54d154f94e2ffd42474c3fb11ee71ee Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 16:59:18 -0600 Subject: [PATCH 26/47] Updating readme and some comments --- .gitignore | 56 +++++----- Makefile | 274 +++++++++++++++++++++++----------------------- README.md | 26 +++-- test/fail_test.go | 20 ++-- 4 files changed, 190 insertions(+), 186 deletions(-) diff --git a/.gitignore b/.gitignore index 9de3c88..faebbea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,29 +1,29 @@ -# File: .gitignore -# Go binaries for programs and plugins -*.exe -*.exe~ -*.dll -*.so -*.dylib - -# Build artifacts and local bin directories -bin -build -dist - -# Test binaries (built with `go test -c`) -*.test - -# Dependency directories -vendor - -# Go workspace files -go.work -go.work.sum - -# Editor/OS-specific -.DS_Store -.idea - -# Environment variables +# File: .gitignore +# Go binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Build artifacts and local bin directories +bin +build +dist + +# Test binaries (built with `go test -c`) +*.test + +# Dependency directories +vendor + +# Go workspace files +go.work +go.work.sum + +# Editor/OS-specific +.DS_Store +.idea + +# Environment variables .env \ No newline at end of file diff --git a/Makefile b/Makefile index 1f3cee4..2a970fb 100644 --- a/Makefile +++ b/Makefile @@ -1,138 +1,138 @@ -# File: Makefile -# Purpose: -# - "install": ensure modules are tidy if go.mod or go.sum changed. -# - "test": run coverage if code changed. -# - "coverage": display coverage summary from coverage.out -# - "build": recompile binary if Go source or mod files changed. -# - "run": executes the compiled binary -# - "tree": display directory structure -# - All skip with "No changes detected, skipping X." if nothing changed. - -.PHONY: install test coverage build run tree - -# Directories for build artifacts and stamp files -BUILD_DIR := build -STAMPS_DIR := $(BUILD_DIR)/.stamps - -# Stamp file paths for each step -INSTALL_STAMP := $(STAMPS_DIR)/install.stamp -BUILD_STAMP := $(STAMPS_DIR)/build.stamp -TEST_STAMP := $(STAMPS_DIR)/test.stamp - -BINARY := $(BUILD_DIR)/scrapeycli - -# Coverage output -COVER_DIR := ${BUILD_DIR}/coverage -COVER_PROFILE := $(COVER_DIR)/coverage.txt -COVER_HTML := $(COVER_DIR)/coverage.html - -# All Go source files (including _test.go files) -GO_FILES := $(shell find . -type f -name '*.go' -not -path "./vendor/*") - -# Reusable messages -SKIP_MSG := No changes detected, skipping -CHANGE_MSG := Some files changed; re-running - -# ------------------------------------------------------------------------------ -# install: ensure go.mod/go.sum are tidy if changed. -# ------------------------------------------------------------------------------ -install: - @mkdir -p $(STAMPS_DIR) - @TARGET=install; \ - if [ ! -f "$(INSTALL_STAMP)" ] || [ go.mod -nt "$(INSTALL_STAMP)" ] || [ go.sum -nt "$(INSTALL_STAMP)" ]; then \ - echo "$(CHANGE_MSG) $$TARGET..."; \ - go mod tidy; \ - if ! git diff --exit-code go.sum; then \ - echo "go.sum updated. Please commit the changes."; \ - exit 1; \ - fi; \ - touch "$(INSTALL_STAMP)"; \ - echo "Done with installing."; \ - else \ - echo "$(SKIP_MSG) $$TARGET."; \ - fi - -# ------------------------------------------------------------------------------ -# test: run tests and update coverage if any Go source (including _test.go files) have changed. -# Ensures gotestsum is installed before running tests. -# Depends on install. -# ------------------------------------------------------------------------------ -test: install - @if ! command -v gotestsum >/dev/null 2>&1; then \ - echo "Installing gotestsum..."; \ - go install gotest.tools/gotestsum@latest; \ - fi - @mkdir -p $(COVER_DIR) $(STAMPS_DIR) - @TARGET=test; \ - if [ ! -f "$(TEST_STAMP)" ] || [ -n "$$(find $(GO_FILES) -newer "$(TEST_STAMP)" 2>/dev/null)" ]; then \ - echo "$(CHANGE_MSG) $$TARGET..."; \ - > "$(COVER_PROFILE)"; \ - if gotestsum --format short-verbose ./... && \ - go test -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" ./... >/dev/null; then \ - if [ -f "$(COVER_PROFILE)" ]; then \ - go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)"; \ - echo "Coverage file generated at: $(COVER_PROFILE)"; \ - echo "HTML coverage report at: $(COVER_HTML)"; \ - else \ - echo "ERROR: Coverage file was not generated!"; \ - fi; \ - touch "$(TEST_STAMP)"; \ - else \ - echo "Tests failed! Skipping stamp update."; \ - exit 1; \ - fi; \ - else \ - echo "$(SKIP_MSG) $$TARGET."; \ - fi - -# ------------------------------------------------------------------------------ -# coverage: displays a colorized coverage summary from the coverage file. -# Depends on test. -# ------------------------------------------------------------------------------ -coverage: test - @echo "================== COVERAGE SUMMARY ==================" - @go tool cover -func="$(COVER_PROFILE)" | go run ./scripts/coverage_formatter.go - @echo "=====================================================" - -# ------------------------------------------------------------------------------ -# build: compile binary if Go sources changed. -# Depends on install. -# ------------------------------------------------------------------------------ -build: install - @mkdir -p $(BUILD_DIR) - @mkdir -p $(STAMPS_DIR) - @TARGET=build; \ - if [ ! -f "$(BUILD_STAMP)" ] || [ -n "$$(find $(GO_FILES) -newer "$(BUILD_STAMP)" 2>/dev/null)" ]; then \ - echo "$(CHANGE_MSG) $$TARGET..."; \ - go build -o $(BINARY) ./cmd/scrapeycli; \ - touch "$(BUILD_STAMP)"; \ - echo "Done with building."; \ - else \ - echo "$(SKIP_MSG) $$TARGET."; \ - fi - -# ------------------------------------------------------------------------------ -# run: execute the compiled binary. -# Depends on build. -# ------------------------------------------------------------------------------ -run: build - @echo "Running application..." - @$(BINARY) - -# ------------------------------------------------------------------------------ -# tree: displays directory structure (installs tree if missing). -# ------------------------------------------------------------------------------ -tree: - @if ! command -v tree >/dev/null 2>&1; then \ - echo "tree command not found. Attempting to install..."; \ - OS=$$(uname); \ - if [ "$$OS" = "Linux" ]; then \ - sudo apt-get update && sudo apt-get install -y tree; \ - elif [ "$$OS" = "Darwin" ]; then \ - brew install tree; \ - else \ - echo "Automatic installation not supported on $$OS. Please install manually."; \ - exit 1; \ - fi; \ - fi; \ +# File: Makefile +# Purpose: +# - "install": ensure modules are tidy if go.mod or go.sum changed. +# - "test": run coverage if code changed. +# - "coverage": display coverage summary from coverage.out +# - "build": recompile binary if Go source or mod files changed. +# - "run": executes the compiled binary +# - "tree": display directory structure +# - All skip with "No changes detected, skipping X." if nothing changed. + +.PHONY: install test coverage build run tree + +# Directories for build artifacts and stamp files +BUILD_DIR := build +STAMPS_DIR := $(BUILD_DIR)/.stamps + +# Stamp file paths for each step +INSTALL_STAMP := $(STAMPS_DIR)/install.stamp +BUILD_STAMP := $(STAMPS_DIR)/build.stamp +TEST_STAMP := $(STAMPS_DIR)/test.stamp + +BINARY := $(BUILD_DIR)/scrapeycli + +# Coverage output +COVER_DIR := ${BUILD_DIR}/coverage +COVER_PROFILE := $(COVER_DIR)/coverage.txt +COVER_HTML := $(COVER_DIR)/coverage.html + +# All Go source files (including _test.go files) +GO_FILES := $(shell find . -type f -name '*.go' -not -path "./vendor/*") + +# Reusable messages +SKIP_MSG := No changes detected, skipping +CHANGE_MSG := Some files changed; re-running + +# ------------------------------------------------------------------------------ +# install: ensure go.mod/go.sum are tidy if changed. +# ------------------------------------------------------------------------------ +install: + @mkdir -p $(STAMPS_DIR) + @TARGET=install; \ + if [ ! -f "$(INSTALL_STAMP)" ] || [ go.mod -nt "$(INSTALL_STAMP)" ] || [ go.sum -nt "$(INSTALL_STAMP)" ]; then \ + echo "$(CHANGE_MSG) $$TARGET..."; \ + go mod tidy; \ + if ! git diff --exit-code go.sum; then \ + echo "go.sum updated. Please commit the changes."; \ + exit 1; \ + fi; \ + touch "$(INSTALL_STAMP)"; \ + echo "Done with installing."; \ + else \ + echo "$(SKIP_MSG) $$TARGET."; \ + fi + +# ------------------------------------------------------------------------------ +# test: run tests and update coverage if any Go source (including _test.go files) have changed. +# Ensures gotestsum is installed before running tests. +# Depends on install. +# ------------------------------------------------------------------------------ +test: install + @if ! command -v gotestsum >/dev/null 2>&1; then \ + echo "Installing gotestsum..."; \ + go install gotest.tools/gotestsum@latest; \ + fi + @mkdir -p $(COVER_DIR) $(STAMPS_DIR) + @TARGET=test; \ + if [ ! -f "$(TEST_STAMP)" ] || [ -n "$$(find $(GO_FILES) -newer "$(TEST_STAMP)" 2>/dev/null)" ]; then \ + echo "$(CHANGE_MSG) $$TARGET..."; \ + > "$(COVER_PROFILE)"; \ + if gotestsum --format short-verbose ./... && \ + go test -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" ./... >/dev/null; then \ + if [ -f "$(COVER_PROFILE)" ]; then \ + go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)"; \ + echo "Coverage file generated at: $(COVER_PROFILE)"; \ + echo "HTML coverage report at: $(COVER_HTML)"; \ + else \ + echo "ERROR: Coverage file was not generated!"; \ + fi; \ + touch "$(TEST_STAMP)"; \ + else \ + echo "Tests failed! Skipping stamp update."; \ + exit 1; \ + fi; \ + else \ + echo "$(SKIP_MSG) $$TARGET."; \ + fi + +# ------------------------------------------------------------------------------ +# coverage: displays a colorized coverage summary from the coverage file. +# Depends on test. +# ------------------------------------------------------------------------------ +coverage: test + @echo "================== COVERAGE SUMMARY ==================" + @go tool cover -func="$(COVER_PROFILE)" | go run ./scripts/coverage_formatter.go + @echo "=====================================================" + +# ------------------------------------------------------------------------------ +# build: compile binary if Go sources changed. +# Depends on install. +# ------------------------------------------------------------------------------ +build: install + @mkdir -p $(BUILD_DIR) + @mkdir -p $(STAMPS_DIR) + @TARGET=build; \ + if [ ! -f "$(BUILD_STAMP)" ] || [ -n "$$(find $(GO_FILES) -newer "$(BUILD_STAMP)" 2>/dev/null)" ]; then \ + echo "$(CHANGE_MSG) $$TARGET..."; \ + go build -o $(BINARY) ./cmd/scrapeycli; \ + touch "$(BUILD_STAMP)"; \ + echo "Done with building."; \ + else \ + echo "$(SKIP_MSG) $$TARGET."; \ + fi + +# ------------------------------------------------------------------------------ +# run: execute the compiled binary. +# Depends on build. +# ------------------------------------------------------------------------------ +run: build + @echo "Running application..." + @$(BINARY) + +# ------------------------------------------------------------------------------ +# tree: displays directory structure (installs tree if missing). +# ------------------------------------------------------------------------------ +tree: + @if ! command -v tree >/dev/null 2>&1; then \ + echo "tree command not found. Attempting to install..."; \ + OS=$$(uname); \ + if [ "$$OS" = "Linux" ]; then \ + sudo apt-get update && sudo apt-get install -y tree; \ + elif [ "$$OS" = "Darwin" ]; then \ + brew install tree; \ + else \ + echo "Automatic installation not supported on $$OS. Please install manually."; \ + exit 1; \ + fi; \ + fi; \ tree -n -I "vendor|.git" \ No newline at end of file diff --git a/README.md b/README.md index 740c28a..d252521 100644 --- a/README.md +++ b/README.md @@ -76,32 +76,34 @@ scrapey-cli/ │ └── workflows/ │ └── ci.yml ├── .vscode/ -│ └── settings.json # VS Code settings (format on save for Go) +│ └── settings.json # VS Code settings (format on save for Go) ├── cmd/ │ └── scrapeycli/ │ └── main.go ├── configs/ -│ └── default.json # Default/example configuration file -├── docs/ # Project documentation +│ └── default.json # Default/example configuration file ├── pkg/ │ ├── config/ -│ │ └── config.go # Config loading logic +│ │ └── config.go # Config loading logic │ ├── crawler/ -│ │ └── crawler.go # Core web crawling logic +│ │ └── crawler.go # Core web crawling logic │ ├── parser/ -│ │ └── parser.go # HTML parsing logic +│ │ └── parser.go # HTML parsing logic │ ├── storage/ -│ │ └── storage.go # Storage logic +│ │ └── storage.go # Storage logic │ └── utils/ -│ └── utils.go # Utility functions -├── test/ # Optional integration tests +│ ├── printcolor.go # Colorized terminal output utility +│ └── utils.go # Utility functions +├── scripts/ +│ └── coverage_formatter.go # Formats and colorizes Go test coverage output +├── test/ # Optional integration tests +│ └── fail_test.go # Test case designed to always fail, used to debug test output ├── .gitignore -├── LICENSE # MIT License file -├── Makefile # Build & run script for CLI (includes targets for build, run, and test) +├── LICENSE # MIT License file +├── Makefile # Build & run script for CLI (includes targets for build, run, and test) ├── go.mod ├── go.sum └── README.md - ``` --- diff --git a/test/fail_test.go b/test/fail_test.go index be512f3..aaa37db 100644 --- a/test/fail_test.go +++ b/test/fail_test.go @@ -1,9 +1,11 @@ -package main - -import ( - "testing" -) - -func TestAlwaysFail(t *testing.T) { - // t.Errorf("This test is designed to fail!") -} +// File: test/fail_test.go + +package main + +import ( + "testing" +) + +func TestAlwaysFail(t *testing.T) { + // t.Errorf("This test is designed to fail!") +} From c89a88cb88aebd5ddf1f2deb1dfd700bbd62ec5e Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 17:08:21 -0600 Subject: [PATCH 27/47] Renaming utils.go to better explain what it was actually doing. --- README.md | 2 +- pkg/utils/{utils.go => printstruct.go} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename pkg/utils/{utils.go => printstruct.go} (95%) diff --git a/README.md b/README.md index d252521..a49fbec 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ scrapey-cli/ │ │ └── storage.go # Storage logic │ └── utils/ │ ├── printcolor.go # Colorized terminal output utility -│ └── utils.go # Utility functions +│ └── printstruct.go # Utility for printing non-empty struct fields ├── scripts/ │ └── coverage_formatter.go # Formats and colorizes Go test coverage output ├── test/ # Optional integration tests diff --git a/pkg/utils/utils.go b/pkg/utils/printstruct.go similarity index 95% rename from pkg/utils/utils.go rename to pkg/utils/printstruct.go index bb9f4c9..49e9661 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/printstruct.go @@ -1,4 +1,4 @@ -// File: pkg/utils/utils.go +// File: pkg/utils/printstruct.go package utils From 33454b92d9ccf31e5808fc9a06972e9dcb24bcdb Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 17:35:44 -0600 Subject: [PATCH 28/47] Some updates to default.json, readme explaining the updates, and gitignoring any config file besides default for now --- .gitignore | 6 +++- README.md | 86 ++++++++++++++++++++++++++++++++++++++++++++ configs/default.json | 28 +++++++++++++-- 3 files changed, 116 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index faebbea..a59c494 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,8 @@ go.work.sum .idea # Environment variables -.env \ No newline at end of file +.env + +# Ignore all configs except default.json +configs/* +!configs/default.json \ No newline at end of file diff --git a/README.md b/README.md index a49fbec..b5fbc4a 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,92 @@ scrapey-cli/ --- +## 🔧 Configuration Options + +Scrapey CLI is configured using a JSON file that defines how websites are crawled and scraped. Below is a detailed breakdown of the available configuration options. + +### 🌍 URL Configuration + +```json +"url": { + "base": "https://example.com", + "routes": [ + "/route1", + "/route2", + "*" + ], + "includeBase": false +} +``` + +- **base**: The primary domain to scrape. +- **routes**: List of specific paths to scrape. Supports `*` as a wildcard for full site crawling. +- **includeBase**: Whether to include the base URL in the scrape. + +### 🔍 Parsing Rules + +```json +"parseRules": { + "title": "title", + "metaDescription": "meta[name='description']", + "articleContent": "article", + "author": ".author-name", + "datePublished": "meta[property='article:published_time']" +} +``` + +- **title**: Extracts the page title. +- **metaDescription**: Extracts the meta description. +- **articleContent**: Defines the main article section. +- **author**: Selector for extracting author names. +- **datePublished**: Extracts the publication date from meta properties. + +### 💾 Storage Options + +```json +"storage": { + "outputFormats": ["json", "csv", "xml"], + "savePath": "output/", + "fileName": "scraped_data" +} +``` + +- **outputFormats**: List of formats in which data will be stored. +- **savePath**: Directory where scraped content is saved. +- **fileName**: Base name for output files. + +### ⚡ Scraping Behavior + +```json +"scrapingOptions": { + "maxDepth": 2, + "rateLimit": 1.5, + "retryAttempts": 3, + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" +} +``` + +- **maxDepth**: Defines how deep the scraper should follow links. +- **rateLimit**: Time delay (in seconds) between requests to avoid rate-limiting. +- **retryAttempts**: Number of retries for failed requests. +- **userAgent**: Custom user-agent string to mimic a browser. + +### 🛠 Data Formatting + +```json +"dataFormatting": { + "cleanWhitespace": true, + "removeHTML": true +} +``` + +- **cleanWhitespace**: Removes unnecessary whitespace in extracted content. +- **removeHTML**: Strips HTML tags from extracted content for cleaner output. + +This configuration file allows fine-tuning of scraping behavior, data extraction, and storage formats for ultimate flexibility in web scraping. + +--- + ## 🛠 Usage - **Basic Execution:** diff --git a/configs/default.json b/configs/default.json index 068243e..7b23a3d 100644 --- a/configs/default.json +++ b/configs/default.json @@ -1,7 +1,29 @@ { - "url": "https://MyExample.com", + "url": { + "base": "https://example.com", + "routes": ["/route1", "/route2", "*"], + "includeBase": false + }, "parseRules": { - "title": "My Example App", - "metaDescription": "meta[name='Example App Loading Config']" + "title": "title", + "metaDescription": "meta[name='description']", + "articleContent": "article", + "author": ".author-name", + "datePublished": "meta[property='article:published_time']" + }, + "storage": { + "outputFormats": ["json", "csv", "xml"], + "savePath": "output/", + "fileName": "scraped_data" + }, + "scrapingOptions": { + "maxDepth": 2, + "rateLimit": 1.5, + "retryAttempts": 3, + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" + }, + "dataFormatting": { + "cleanWhitespace": true, + "removeHTML": true } } From 94c3550189f61c18d0db139e2c4aba54d8c30eb5 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 17:52:10 -0600 Subject: [PATCH 29/47] FIxing unit tests, adding placeholder tests --- cmd/scrapeycli/main.go | 15 ++++++++--- cmd/scrapeycli/main_test.go | 13 +++++----- pkg/config/config.go | 41 +++++++++++++++++++++++------- pkg/config/config_test.go | 35 ++++++++++++++++--------- pkg/crawler/crawler_test.go | 9 +++++++ pkg/parser/parser_test.go | 9 +++++++ pkg/storage/storage_test.go | 9 +++++++ pkg/utils/printstruct_test.go | 9 +++++++ scripts/coverage_formatter.go | 1 + scripts/coverage_formatter_test.go | 9 +++++++ 10 files changed, 120 insertions(+), 30 deletions(-) create mode 100644 pkg/crawler/crawler_test.go create mode 100644 pkg/parser/parser_test.go create mode 100644 pkg/storage/storage_test.go create mode 100644 pkg/utils/printstruct_test.go create mode 100644 scripts/coverage_formatter_test.go diff --git a/cmd/scrapeycli/main.go b/cmd/scrapeycli/main.go index e1c8286..c5fc429 100644 --- a/cmd/scrapeycli/main.go +++ b/cmd/scrapeycli/main.go @@ -60,15 +60,24 @@ func main() { os.Exit(1) } - // If a URL is provided via the command line, override the configuration's URL. + // If a URL is provided via the command line, override the configuration's base URL. if url != "" { utils.PrintColored("Overriding config with URL flag: ", url, color.FgHiMagenta) - cfg.URL = url + cfg.URL.Base = url } - // Print a confirmation message in high-intensity green indicating successful config load. + // Print confirmation of loaded config. utils.PrintColored("Loaded config from: ", configPath, color.FgHiGreen) // Indicate that initialization is complete by printing a success message in green. utils.PrintColored("Scrapey CLI initialization complete.", "", color.FgGreen) + + // Print which routes will be scraped. + utils.PrintColored("Base URL: ", cfg.URL.Base, color.FgYellow) + if cfg.URL.IncludeBase { + utils.PrintColored("Including base URL in scraping.", "", color.FgGreen) + } + for _, route := range cfg.URL.Routes { + utils.PrintColored("Scraping route: ", route, color.FgHiBlue) + } } diff --git a/cmd/scrapeycli/main_test.go b/cmd/scrapeycli/main_test.go index 92858ca..6a4488e 100644 --- a/cmd/scrapeycli/main_test.go +++ b/cmd/scrapeycli/main_test.go @@ -50,8 +50,7 @@ func TestFlagRegistration(t *testing.T) { } /* -TestMainExecution runs the main program with a valid configuration file and checks for -the welcome message ("Welcome to Scrapey CLI!") in the output. +TestMainExecution runs the main program with a valid configuration file and checks for the expected output. */ func TestMainExecution(t *testing.T) { output, err := runMainCommand(t, "--config", "configs/default.json") @@ -62,6 +61,10 @@ func TestMainExecution(t *testing.T) { if !strings.Contains(output, "Welcome to Scrapey CLI!") { t.Errorf("Expected welcome message not found in output.\nOutput: %s", output) } + + if !strings.Contains(output, "Base URL: https://example.com") { + t.Errorf("Expected base URL output not found.\nOutput: %s", output) + } } /* @@ -84,9 +87,7 @@ func TestMainConfigFailure(t *testing.T) { } /* -TestURLOverride runs the main program with a valid config file and a URL override flag. -It verifies that the output includes the URL override message and that the overridden -URL is displayed, confirming the override branch is executed. +TestURLOverride verifies that specifying a URL via CLI correctly overrides the Base URL. */ func TestURLOverride(t *testing.T) { output, err := runMainCommand(t, "--config", "configs/default.json", "--url", "https://example.org") @@ -96,7 +97,7 @@ func TestURLOverride(t *testing.T) { if !strings.Contains(output, "Overriding config with URL flag:") { t.Errorf("Expected URL override message not found in output.\nOutput: %s", output) } - if !strings.Contains(output, "https://example.org") { + if !strings.Contains(output, "Base URL: https://example.org") { t.Errorf("Expected overridden URL not found in output.\nOutput: %s", output) } } diff --git a/pkg/config/config.go b/pkg/config/config.go index c6eb571..040ee4f 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -15,21 +15,44 @@ import ( Config holds configuration data used by Scrapey CLI. Fields: - - URL: The URL to be scraped. - - PARSERULES: A nested struct containing parsing rules. - - TITLE: The CSS selector for extracting the title. - - METADESCRIPTION: The CSS selector for extracting the meta description. + - URL: A struct containing the base URL and routes to scrape. + - ParseRules: A struct containing parsing rules. + - Storage: A struct defining how data is saved. + - ScrapingOptions: Settings for crawling behavior. + - DataFormatting: Options for cleaning extracted content. Usage: The configuration is loaded from a JSON file to guide the crawler and parser. */ type Config struct { - URL string `json:"url,omitempty"` - PARSERULES struct { - TITLE string `json:"title,omitempty"` - METADESCRIPTION string `json:"metaDescription,omitempty"` - } `json:"parseRules,omitempty"` + URL struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + } `json:"url"` + ParseRules struct { + Title string `json:"title,omitempty"` + MetaDescription string `json:"metaDescription,omitempty"` + ArticleContent string `json:"articleContent,omitempty"` + Author string `json:"author,omitempty"` + DatePublished string `json:"datePublished,omitempty"` + } `json:"parseRules"` + Storage struct { + OutputFormats []string `json:"outputFormats"` + SavePath string `json:"savePath"` + FileName string `json:"fileName"` + } `json:"storage"` + ScrapingOptions struct { + MaxDepth int `json:"maxDepth"` + RateLimit float64 `json:"rateLimit"` + RetryAttempts int `json:"retryAttempts"` + UserAgent string `json:"userAgent"` + } `json:"scrapingOptions"` + DataFormatting struct { + CleanWhitespace bool `json:"cleanWhitespace"` + RemoveHTML bool `json:"removeHTML"` + } `json:"dataFormatting"` } /* diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index ad10d2d..741a4dc 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -8,9 +8,9 @@ import ( ) /* -TestLoadValidConfig creates a temporary file with valid JSON configuration data, writes a valid URL value, -and attempts to load the configuration using Load. It verifies that the returned Config object contains the -expected URL. +TestLoadValidConfig creates a temporary file with valid JSON configuration data, +writes a valid Base URL value, and attempts to load the configuration using Load. +It verifies that the returned Config object contains the expected Base URL. */ func TestLoadValidConfig(t *testing.T) { // Create a temporary file with valid JSON using os.CreateTemp. @@ -20,7 +20,7 @@ func TestLoadValidConfig(t *testing.T) { } defer os.Remove(tmpFile.Name()) - validJSON := `{"url": "http://example.org"}` + validJSON := `{"url": {"base": "http://example.org", "routes": ["/test"], "includeBase": true}}` if _, err := tmpFile.Write([]byte(validJSON)); err != nil { t.Fatalf("Failed to write to temp file: %v", err) } @@ -32,15 +32,25 @@ func TestLoadValidConfig(t *testing.T) { t.Fatalf("Expected valid config, got error: %v", err) } - // Check that the URL in the configuration matches the expected value. - if cfg.URL != "http://example.org" { - t.Errorf("Expected URL 'http://example.org', got '%s'", cfg.URL) + // Check that the Base URL in the configuration matches the expected value. + if cfg.URL.Base != "http://example.org" { + t.Errorf("Expected Base URL 'http://example.org', got '%s'", cfg.URL.Base) + } + + // Check that the IncludeBase field is set correctly. + if !cfg.URL.IncludeBase { + t.Errorf("Expected IncludeBase to be true, got false") + } + + // Ensure at least one route exists. + if len(cfg.URL.Routes) == 0 || cfg.URL.Routes[0] != "/test" { + t.Errorf("Expected routes to include '/test', got %v", cfg.URL.Routes) } } /* -TestLoadNonexistentFile attempts to load a configuration from a non-existent file and verifies that -Load returns an error. +TestLoadNonexistentFile attempts to load a configuration from a non-existent file +and verifies that Load returns an error. */ func TestLoadNonexistentFile(t *testing.T) { // Attempt to load a config from a non-existent file. @@ -51,8 +61,9 @@ func TestLoadNonexistentFile(t *testing.T) { } /* -TestLoadInvalidJSON creates a temporary file with invalid JSON content (missing a closing brace) and attempts -to load the configuration. The test confirms that an error is returned due to invalid JSON. +TestLoadInvalidJSON creates a temporary file with invalid JSON content +(missing a closing brace) and attempts to load the configuration. +The test confirms that an error is returned due to invalid JSON. */ func TestLoadInvalidJSON(t *testing.T) { // Create a temporary file with invalid JSON using os.CreateTemp. @@ -62,7 +73,7 @@ func TestLoadInvalidJSON(t *testing.T) { } defer os.Remove(tmpFile.Name()) - invalidJSON := `{"url": "http://example.org"` + invalidJSON := `{"url": {"base": "http://example.org"` if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { t.Fatalf("Failed to write to temp file: %v", err) } diff --git a/pkg/crawler/crawler_test.go b/pkg/crawler/crawler_test.go new file mode 100644 index 0000000..6aa2a58 --- /dev/null +++ b/pkg/crawler/crawler_test.go @@ -0,0 +1,9 @@ +// File: pkg/crawler/crawler_test.go + +package crawler + +import "testing" + +func TestPlaceholder(t *testing.T) { + t.Skip("Placeholder test - implementation pending") +} diff --git a/pkg/parser/parser_test.go b/pkg/parser/parser_test.go new file mode 100644 index 0000000..117240f --- /dev/null +++ b/pkg/parser/parser_test.go @@ -0,0 +1,9 @@ +// File: pkg/parser/parser_test.go + +package parser + +import "testing" + +func TestPlaceholder(t *testing.T) { + t.Skip("Placeholder test - implementation pending") +} diff --git a/pkg/storage/storage_test.go b/pkg/storage/storage_test.go new file mode 100644 index 0000000..582c352 --- /dev/null +++ b/pkg/storage/storage_test.go @@ -0,0 +1,9 @@ +// File: pkg/storage/storage_test.go + +package storage + +import "testing" + +func TestPlaceholder(t *testing.T) { + t.Skip("Placeholder test - implementation pending") +} diff --git a/pkg/utils/printstruct_test.go b/pkg/utils/printstruct_test.go new file mode 100644 index 0000000..5225160 --- /dev/null +++ b/pkg/utils/printstruct_test.go @@ -0,0 +1,9 @@ +// File: pkg/utils/printstruct_test.go + +package utils + +import "testing" + +func TestPlaceholder(t *testing.T) { + t.Skip("Placeholder test - implementation pending") +} diff --git a/scripts/coverage_formatter.go b/scripts/coverage_formatter.go index b1bb941..7522882 100644 --- a/scripts/coverage_formatter.go +++ b/scripts/coverage_formatter.go @@ -1,4 +1,5 @@ // File: scripts/coverage_formatter.go + package main import ( diff --git a/scripts/coverage_formatter_test.go b/scripts/coverage_formatter_test.go new file mode 100644 index 0000000..983dc27 --- /dev/null +++ b/scripts/coverage_formatter_test.go @@ -0,0 +1,9 @@ +// File: scripts/coverage_formatter_test.go + +package main + +import "testing" + +func TestPlaceholder(t *testing.T) { + t.Skip("Placeholder test - implementation pending") +} From d21ef3b1988294f078cc1c0264a973426918d799 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 19:57:13 -0600 Subject: [PATCH 30/47] feat: Add verbose flag (-v, --verbose) for enhanced system messages - Introduced a global `Verbose` flag in `config.go` to manage debug output. - Registered `--verbose` (`-v`) flag in `main.go` for user control. - Modified `Load()` in `config.go` to conditionally display `PrintNonEmptyFields()` output when `Verbose` is enabled. - Updated CLI tests in `main_test.go` to validate proper handling of CLI arguments. - Improved `TestCLIOverrides` to dynamically verify CLI argument overrides. - Standardized flag registration and execution flow for better maintainability. - Ensured verbose output is globally accessible without needing to pass it through function calls. This change improves debugging by allowing users to toggle detailed output while keeping default behavior concise. --- cmd/scrapeycli/main.go | 49 +++++++++--- cmd/scrapeycli/main_test.go | 82 +++++++++++++------- pkg/config/config.go | 146 +++++++++++++++++++++++++++++++++--- pkg/config/config_test.go | 139 ++++++++++++++++++++++++++++------ 4 files changed, 343 insertions(+), 73 deletions(-) diff --git a/cmd/scrapeycli/main.go b/cmd/scrapeycli/main.go index c5fc429..3cd3f9e 100644 --- a/cmd/scrapeycli/main.go +++ b/cmd/scrapeycli/main.go @@ -1,5 +1,3 @@ -// File: cmd/scrapeycli/main.go - package main import ( @@ -16,34 +14,51 @@ Global variables for storing command-line arguments. - configPath: The path to the configuration file. - url: The URL to be scraped, which may override the URL in the config. +- maxDepth: Overrides the scraping depth if set. +- rateLimit: Overrides the request rate limit. +- verbose: Enables verbose output. */ var ( configPath string url string + maxDepth int + rateLimit float64 + verbose bool ) /* init registers command-line flags for configuration. -It sets up two flags for the config file ("config" and its shorthand "c") -and a flag for the URL override. +It sets up flags for: +- The config file ("config" and its shorthand "c"). +- URL override. +- Scraping depth override. +- Rate limit override. +- Verbose output ("verbose" and its shorthand "v"). */ func init() { flag.StringVar(&configPath, "config", "", "Path to config file") flag.StringVar(&configPath, "c", "", "Path to config file (shorthand)") flag.StringVar(&url, "url", "", "URL to scrape (overrides config)") + flag.IntVar(&maxDepth, "maxDepth", 0, "Override max crawl depth") + flag.Float64Var(&rateLimit, "rateLimit", 0, "Override request rate limit (seconds)") + flag.BoolVar(&verbose, "verbose", false, "Enable verbose output") + flag.BoolVar(&verbose, "v", false, "Enable verbose output (shorthand)") } /* main is the entry point of Scrapey CLI. It parses command-line flags, prints a welcome message, loads the configuration, -handles URL overrides, and prints confirmation messages for each step. +handles overrides, and prints confirmation messages for each step. */ func main() { // Parse CLI flags. flag.Parse() + // Store the verbose flag in global state + config.Verbose = verbose + // Print a welcome message in cyan using our PrintColored utility. utils.PrintColored("Welcome to Scrapey CLI!", "", color.FgCyan) @@ -60,16 +75,28 @@ func main() { os.Exit(1) } - // If a URL is provided via the command line, override the configuration's base URL. + // Construct a partial Config struct for CLI overrides. + cliOverrides := config.Config{} + + // Apply URL override if provided. if url != "" { - utils.PrintColored("Overriding config with URL flag: ", url, color.FgHiMagenta) - cfg.URL.Base = url + cliOverrides.URL.Base = url } - // Print confirmation of loaded config. - utils.PrintColored("Loaded config from: ", configPath, color.FgHiGreen) + // Apply maxDepth override if provided. + if maxDepth > 0 { + cliOverrides.ScrapingOptions.MaxDepth = maxDepth + } - // Indicate that initialization is complete by printing a success message in green. + // Apply rateLimit override if provided. + if rateLimit > 0 { + cliOverrides.ScrapingOptions.RateLimit = rateLimit + } + + // Apply all CLI overrides dynamically. + cfg.OverrideWithCLI(cliOverrides) + + // Print confirmation of loaded config. utils.PrintColored("Scrapey CLI initialization complete.", "", color.FgGreen) // Print which routes will be scraped. diff --git a/cmd/scrapeycli/main_test.go b/cmd/scrapeycli/main_test.go index 6a4488e..f160fc5 100644 --- a/cmd/scrapeycli/main_test.go +++ b/cmd/scrapeycli/main_test.go @@ -15,7 +15,7 @@ It sets the working directory to the project root (two levels up from cmd/scrape and returns the combined output along with any error. Parameters: - - t: The current testing context (not used directly, but conforms to typical test helper function signatures). + - t: The current testing context. - args: A variadic list of arguments to be passed to the go run command. Usage: @@ -31,39 +31,39 @@ func runMainCommand(_ *testing.T, args ...string) (string, error) { /* TestFlagRegistration verifies that all necessary command-line flags are properly registered. -The application depends on these flags for configuration input and URL overrides. - -Checks: - - "config" and "c" flags - - "url" flag +The application depends on these flags for configuration input and CLI overrides. */ func TestFlagRegistration(t *testing.T) { - if f := flag.Lookup("config"); f == nil { - t.Error("Expected flag 'config' to be registered") - } - if f := flag.Lookup("c"); f == nil { - t.Error("Expected shorthand flag 'c' to be registered") - } - if f := flag.Lookup("url"); f == nil { - t.Error("Expected flag 'url' to be registered") + expectedFlags := []string{"config", "c", "url", "maxDepth", "rateLimit"} + for _, flagName := range expectedFlags { + if f := flag.Lookup(flagName); f == nil { + t.Errorf("Expected flag '%s' to be registered", flagName) + } } } /* -TestMainExecution runs the main program with a valid configuration file and checks for the expected output. +TestMainExecution runs the main program with a valid configuration file +and ensures it initializes correctly. */ func TestMainExecution(t *testing.T) { - output, err := runMainCommand(t, "--config", "configs/default.json") + output, err := runMainCommand(t) if err != nil { t.Fatalf("Failed to run main.go: %v\nOutput: %s", err, output) } - if !strings.Contains(output, "Welcome to Scrapey CLI!") { - t.Errorf("Expected welcome message not found in output.\nOutput: %s", output) + // Define expected phrases used multiple times + requiredPhrases := []string{ + "Welcome to Scrapey CLI!", + "Scrapey CLI initialization complete.", + "Base URL: https://example.com", } - if !strings.Contains(output, "Base URL: https://example.com") { - t.Errorf("Expected base URL output not found.\nOutput: %s", output) + // Validate presence of required phrases + for _, phrase := range requiredPhrases { + if !strings.Contains(output, phrase) { + t.Errorf("Expected output to contain '%s'.\nOutput: %s", phrase, output) + } } } @@ -77,6 +77,7 @@ func TestMainConfigFailure(t *testing.T) { t.Fatalf("Expected failure due to config load error, but got success") } + // Validate correct exit behavior if exitErr, ok := err.(*exec.ExitError); ok { if exitErr.ExitCode() != 1 { t.Errorf("Expected exit code 1, got %d", exitErr.ExitCode()) @@ -87,17 +88,42 @@ func TestMainConfigFailure(t *testing.T) { } /* -TestURLOverride verifies that specifying a URL via CLI correctly overrides the Base URL. +TestCLIOverrides verifies that CLI arguments correctly override the configuration. + +It ensures that: + - The base URL can be overridden. + - Scraping depth (maxDepth) can be overridden. + - Rate limit can be overridden. + +The test **does not rely on exact print statements** to avoid fragility. */ -func TestURLOverride(t *testing.T) { - output, err := runMainCommand(t, "--config", "configs/default.json", "--url", "https://example.org") +func TestCLIOverrides(t *testing.T) { + // CLI argument values (used multiple times) + newBaseURL := "https://cli-example.com" + newMaxDepth := "10" + newRateLimit := "2.5" + + // Run command + output, err := runMainCommand(t, + "--url", newBaseURL, + "--maxDepth", newMaxDepth, + "--rateLimit", newRateLimit, + ) if err != nil { - t.Fatalf("Failed to run main.go with URL override: %v\nOutput: %s", err, output) + t.Fatalf("Failed to run main.go with CLI overrides: %v\nOutput: %s", err, output) } - if !strings.Contains(output, "Overriding config with URL flag:") { - t.Errorf("Expected URL override message not found in output.\nOutput: %s", output) + + // Expected CLI override outputs (used multiple times) + expectedOutputs := map[string]string{ + "Base URL: ": newBaseURL, + "ScrapingOptions.MaxDepth: ": newMaxDepth, + "ScrapingOptions.RateLimit: ": newRateLimit, } - if !strings.Contains(output, "Base URL: https://example.org") { - t.Errorf("Expected overridden URL not found in output.\nOutput: %s", output) + + // Validate overrides dynamically + for key, expected := range expectedOutputs { + if !strings.Contains(output, key+expected) { + t.Errorf("Expected override '%s%s' not found in output.\nOutput: %s", key, expected, output) + } } } diff --git a/pkg/config/config.go b/pkg/config/config.go index 040ee4f..175f3de 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -6,11 +6,20 @@ import ( "encoding/json" "fmt" "os" + "reflect" "github.com/fatih/color" "github.com/heinrichb/scrapey-cli/pkg/utils" ) +/* +Global Verbose flag. + +This flag determines whether verbose output is enabled. +It is set in `main.go` and used throughout the application. +*/ +var Verbose bool + /* Config holds configuration data used by Scrapey CLI. @@ -55,6 +64,48 @@ type Config struct { } `json:"dataFormatting"` } +/* +ApplyDefaults populates missing fields in the Config struct with default values. + +Usage: + + cfg.ApplyDefaults() + +Notes: + - Ensures that a missing Base URL defaults to "https://example.com". + - Sets default scraping and storage parameters. + - Provides a sensible fallback for all configurable values. +*/ +func (cfg *Config) ApplyDefaults() { + if cfg.URL.Base == "" { + cfg.URL.Base = "https://example.com" + } + if len(cfg.URL.Routes) == 0 { + cfg.URL.Routes = []string{"/"} + } + if cfg.ScrapingOptions.MaxDepth == 0 { + cfg.ScrapingOptions.MaxDepth = 2 + } + if cfg.ScrapingOptions.RateLimit == 0 { + cfg.ScrapingOptions.RateLimit = 1.5 + } + if cfg.ScrapingOptions.RetryAttempts == 0 { + cfg.ScrapingOptions.RetryAttempts = 3 + } + if cfg.ScrapingOptions.UserAgent == "" { + cfg.ScrapingOptions.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" + } + if len(cfg.Storage.OutputFormats) == 0 { + cfg.Storage.OutputFormats = []string{"json"} + } + if cfg.Storage.SavePath == "" { + cfg.Storage.SavePath = "output/" + } + if cfg.Storage.FileName == "" { + cfg.Storage.FileName = "scraped_data" + } +} + /* Load reads configuration data from the specified filePath. @@ -72,33 +123,108 @@ Usage: // Handle error } // Use cfg to configure the application. - -Notes: - - This function uses os.ReadFile to read the file. - - It prints a confirmation message in high-intensity green using the PrintColored utility. - - It then calls PrintNonEmptyFields from the utils package to display non-empty config fields. */ func Load(filePath string) (*Config, error) { if _, err := os.Stat(filePath); os.IsNotExist(err) { return nil, fmt.Errorf("config file %s does not exist", filePath) } - // Print confirmation that the config was loaded, using our PrintColored utility. utils.PrintColored("Loaded config from: ", filePath, color.FgHiGreen) - // Read file contents using os.ReadFile. content, err := os.ReadFile(filePath) if err != nil { return nil, fmt.Errorf("failed to read config file: %v", err) } - // Unmarshal JSON into a Config struct. var cfg Config if err := json.Unmarshal(content, &cfg); err != nil { return nil, fmt.Errorf("invalid JSON in config file: %v", err) } - // Print non-empty configuration fields using a utility function. - utils.PrintNonEmptyFields("", cfg) + // Apply default values where necessary. + cfg.ApplyDefaults() + + // **Verbose Mode: Print Non-Empty Fields** + if Verbose { + utils.PrintNonEmptyFields("", cfg) + } + return &cfg, nil } + +/* +OverrideWithCLI dynamically overrides config values based on the provided `overrides` struct. + +Parameters: + - overrides: A partial Config struct containing only the fields to override. + +Usage: + + cfg.OverrideWithCLI(Config{ + URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{ + Base: "https://example.org", + }, + ScrapingOptions: struct { + MaxDepth int `json:"maxDepth"` + RateLimit float64 `json:"rateLimit"` + RetryAttempts int `json:"retryAttempts"` + UserAgent string `json:"userAgent"` + }{ + MaxDepth: 5, + }, + }) + +Notes: + - Only **non-zero** values in `overrides` are applied. + - Uses **reflection** to dynamically override values while maintaining type safety. +*/ +func (cfg *Config) OverrideWithCLI(overrides Config) { + cfgValue := reflect.ValueOf(cfg).Elem() + overridesValue := reflect.ValueOf(overrides) + + for i := 0; i < overridesValue.NumField(); i++ { + field := overridesValue.Type().Field(i) + overrideField := overridesValue.Field(i) + configField := cfgValue.FieldByName(field.Name) + + if !configField.IsValid() || !configField.CanSet() { + continue + } + + if overrideField.Kind() == reflect.Struct { + for j := 0; j < overrideField.NumField(); j++ { + subField := overrideField.Type().Field(j) + overrideSubField := overrideField.Field(j) + configSubField := configField.FieldByName(subField.Name) + + if !configSubField.IsValid() || !configSubField.CanSet() { + continue + } + + // **Skip empty slices** + if overrideSubField.Kind() == reflect.Slice && overrideSubField.Len() == 0 { + continue + } + + if !overrideSubField.IsZero() { + utils.PrintColored(fmt.Sprintf("Overriding %s.%s: ", field.Name, subField.Name), fmt.Sprint(overrideSubField.Interface()), color.FgHiMagenta) + configSubField.Set(overrideSubField) + } + } + } else { + // **Skip empty slices** + if overrideField.Kind() == reflect.Slice && overrideField.Len() == 0 { + continue + } + + if !overrideField.IsZero() { + utils.PrintColored(fmt.Sprintf("Overriding %s: ", field.Name), fmt.Sprint(overrideField.Interface()), color.FgHiMagenta) + configField.Set(overrideField) + } + } + } +} diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 741a4dc..2a0fcee 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -4,16 +4,14 @@ package config import ( "os" + "reflect" "testing" ) /* -TestLoadValidConfig creates a temporary file with valid JSON configuration data, -writes a valid Base URL value, and attempts to load the configuration using Load. -It verifies that the returned Config object contains the expected Base URL. +TestLoadValidConfig ensures that loading a valid config file works as expected. */ func TestLoadValidConfig(t *testing.T) { - // Create a temporary file with valid JSON using os.CreateTemp. tmpFile, err := os.CreateTemp("", "valid_config_*.json") if err != nil { t.Fatalf("Failed to create temp file: %v", err) @@ -24,49 +22,51 @@ func TestLoadValidConfig(t *testing.T) { if _, err := tmpFile.Write([]byte(validJSON)); err != nil { t.Fatalf("Failed to write to temp file: %v", err) } - tmpFile.Close() // Close the file so it can be read by Load. + tmpFile.Close() - // Load the configuration from the temporary file. cfg, err := Load(tmpFile.Name()) if err != nil { t.Fatalf("Expected valid config, got error: %v", err) } - // Check that the Base URL in the configuration matches the expected value. - if cfg.URL.Base != "http://example.org" { - t.Errorf("Expected Base URL 'http://example.org', got '%s'", cfg.URL.Base) + expectedBaseURL := "http://example.org" + expectedRoute := "/test" + + if cfg.URL.Base != expectedBaseURL { + t.Errorf("Expected Base URL '%s', got '%s'", expectedBaseURL, cfg.URL.Base) } - // Check that the IncludeBase field is set correctly. if !cfg.URL.IncludeBase { t.Errorf("Expected IncludeBase to be true, got false") } - // Ensure at least one route exists. - if len(cfg.URL.Routes) == 0 || cfg.URL.Routes[0] != "/test" { - t.Errorf("Expected routes to include '/test', got %v", cfg.URL.Routes) + if len(cfg.URL.Routes) == 0 || cfg.URL.Routes[0] != expectedRoute { + t.Errorf("Expected routes to include '%s', got %v", expectedRoute, cfg.URL.Routes) } } /* -TestLoadNonexistentFile attempts to load a configuration from a non-existent file -and verifies that Load returns an error. +TestLoadEmptyFile ensures that loading an empty config file does not cause an unexpected crash. */ -func TestLoadNonexistentFile(t *testing.T) { - // Attempt to load a config from a non-existent file. - _, err := Load("nonexistent_file.json") +func TestLoadEmptyFile(t *testing.T) { + tmpFile, err := os.CreateTemp("", "empty_config_*.json") + if err != nil { + t.Fatalf("Failed to create temp file: %v", err) + } + defer os.Remove(tmpFile.Name()) + + tmpFile.Close() // Empty file + + _, err = Load(tmpFile.Name()) if err == nil { - t.Fatalf("Expected error for non-existent file, got nil") + t.Fatalf("Expected an error for empty config file, got nil") } } /* -TestLoadInvalidJSON creates a temporary file with invalid JSON content -(missing a closing brace) and attempts to load the configuration. -The test confirms that an error is returned due to invalid JSON. +TestLoadInvalidJSON ensures that a badly formatted JSON file correctly returns an error. */ func TestLoadInvalidJSON(t *testing.T) { - // Create a temporary file with invalid JSON using os.CreateTemp. tmpFile, err := os.CreateTemp("", "invalid_config_*.json") if err != nil { t.Fatalf("Failed to create temp file: %v", err) @@ -79,9 +79,100 @@ func TestLoadInvalidJSON(t *testing.T) { } tmpFile.Close() - // Attempt to load the configuration from the temporary file. _, err = Load(tmpFile.Name()) if err == nil { t.Fatalf("Expected error for invalid JSON, got nil") } } + +/* +TestApplyDefaults verifies that ApplyDefaults correctly sets default values. +*/ +func TestApplyDefaults(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + + expectedBaseURL := "https://example.com" + expectedOutputFormat := "json" + + if cfg.URL.Base != expectedBaseURL { + t.Errorf("Expected default Base URL '%s', got '%s'", expectedBaseURL, cfg.URL.Base) + } + if len(cfg.Storage.OutputFormats) == 0 || cfg.Storage.OutputFormats[0] != expectedOutputFormat { + t.Errorf("Expected default output format '%s', got %v", expectedOutputFormat, cfg.Storage.OutputFormats) + } +} + +/* +TestOverrideWithCLI ensures that OverrideWithCLI dynamically updates config values. +*/ +func TestOverrideWithCLI(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + + newBaseURL := "https://cli-example.com" + newRoutes := []string{"/cli-route1", "/cli-route2"} + newMaxDepth := 10 + newUserAgent := "Custom CLI UserAgent" + + overrides := Config{ + URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{ + Base: newBaseURL, + Routes: newRoutes, + IncludeBase: true, + }, + ScrapingOptions: struct { + MaxDepth int `json:"maxDepth"` + RateLimit float64 `json:"rateLimit"` + RetryAttempts int `json:"retryAttempts"` + UserAgent string `json:"userAgent"` + }{ + MaxDepth: newMaxDepth, + UserAgent: newUserAgent, + }, + } + + cfg.OverrideWithCLI(overrides) + + if cfg.URL.Base != newBaseURL { + t.Errorf("Expected Base URL to be overridden to '%s', got '%s'", newBaseURL, cfg.URL.Base) + } + + if len(cfg.URL.Routes) != len(newRoutes) || cfg.URL.Routes[0] != newRoutes[0] || cfg.URL.Routes[1] != newRoutes[1] { + t.Errorf("Expected Routes to be '%v', got '%v'", newRoutes, cfg.URL.Routes) + } + + if !cfg.URL.IncludeBase { + t.Errorf("Expected IncludeBase to be true, got false") + } + + if cfg.ScrapingOptions.MaxDepth != newMaxDepth { + t.Errorf("Expected MaxDepth to be overridden to %d, got '%d'", newMaxDepth, cfg.ScrapingOptions.MaxDepth) + } + + if cfg.ScrapingOptions.UserAgent != newUserAgent { + t.Errorf("Expected UserAgent to be '%s', got '%s'", newUserAgent, cfg.ScrapingOptions.UserAgent) + } +} + +/* +TestOverrideWithEmptyCLI ensures that OverrideWithCLI does nothing if no values are provided. +*/ +func TestOverrideWithEmptyCLI(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + + // Make a deep copy of the original config for comparison. + originalConfig := *cfg + + cfg.OverrideWithCLI(Config{}) // Pass an empty config override + + // Use reflect.DeepEqual to compare struct contents. + if !reflect.DeepEqual(*cfg, originalConfig) { + t.Errorf("Expected config to remain unchanged when empty overrides are applied.\nExpected: %+v\nGot: %+v", originalConfig, *cfg) + } +} From 826cd9f817d779967197f266f36a354b7f27b1cb Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 22:15:39 -0600 Subject: [PATCH 31/47] Changing CI to run tests on all branches, aiming for 100% coverage --- .github/workflows/ci.yml | 14 +++- pkg/config/config_test.go | 150 ++++++++------------------------------ 2 files changed, 42 insertions(+), 122 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f038ce..619ba90 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,7 +4,7 @@ name: Continuous Integration (CI) on: push: - branches: ["main", "develop"] + branches: ["*"] pull_request: branches: ["main", "develop"] @@ -33,11 +33,19 @@ jobs: - name: 🛠️ Build run: go build ./... - - name: 🧪 Test - run: go test -v ./... -coverprofile=coverage.out + - name: 🧪 Run Tests with Coverage + run: | + go test -v ./... -coverprofile=coverage.out | tee test-results.log - name: 📤 Upload Coverage Reports to Codecov uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }} files: coverage.out + + - name: 📜 Upload Test Logs on Failure + if: failure() + uses: actions/upload-artifact@v4 + with: + name: test-results + path: test-results.log diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 2a0fcee..aa8be26 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -1,178 +1,90 @@ -// File: pkg/config/config_test.go - package config import ( "os" - "reflect" "testing" ) /* -TestLoadValidConfig ensures that loading a valid config file works as expected. +TestLoadMissingFile ensures Load correctly returns an error when the config file does not exist. */ -func TestLoadValidConfig(t *testing.T) { - tmpFile, err := os.CreateTemp("", "valid_config_*.json") - if err != nil { - t.Fatalf("Failed to create temp file: %v", err) - } - defer os.Remove(tmpFile.Name()) - - validJSON := `{"url": {"base": "http://example.org", "routes": ["/test"], "includeBase": true}}` - if _, err := tmpFile.Write([]byte(validJSON)); err != nil { - t.Fatalf("Failed to write to temp file: %v", err) - } - tmpFile.Close() - - cfg, err := Load(tmpFile.Name()) - if err != nil { - t.Fatalf("Expected valid config, got error: %v", err) - } - - expectedBaseURL := "http://example.org" - expectedRoute := "/test" - - if cfg.URL.Base != expectedBaseURL { - t.Errorf("Expected Base URL '%s', got '%s'", expectedBaseURL, cfg.URL.Base) - } - - if !cfg.URL.IncludeBase { - t.Errorf("Expected IncludeBase to be true, got false") - } - - if len(cfg.URL.Routes) == 0 || cfg.URL.Routes[0] != expectedRoute { - t.Errorf("Expected routes to include '%s', got %v", expectedRoute, cfg.URL.Routes) +func TestLoadMissingFile(t *testing.T) { + _, err := Load("nonexistent_config.json") + if err == nil { + t.Fatalf("Expected error for missing config file, got nil") } } /* -TestLoadEmptyFile ensures that loading an empty config file does not cause an unexpected crash. +TestLoadUnreadableFile ensures Load correctly returns an error when the config file is unreadable. */ -func TestLoadEmptyFile(t *testing.T) { - tmpFile, err := os.CreateTemp("", "empty_config_*.json") +func TestLoadUnreadableFile(t *testing.T) { + tmpFile, err := os.CreateTemp("", "unreadable_config_*.json") if err != nil { t.Fatalf("Failed to create temp file: %v", err) } defer os.Remove(tmpFile.Name()) - tmpFile.Close() // Empty file + if err := os.Chmod(tmpFile.Name(), 0000); err != nil { + t.Fatalf("Failed to set file permissions: %v", err) + } + defer os.Chmod(tmpFile.Name(), 0644) // Restore permissions after test _, err = Load(tmpFile.Name()) if err == nil { - t.Fatalf("Expected an error for empty config file, got nil") + t.Fatalf("Expected error for unreadable file, got nil") } } /* -TestLoadInvalidJSON ensures that a badly formatted JSON file correctly returns an error. +TestLoadVerboseMode ensures that verbose mode triggers PrintNonEmptyFields. */ -func TestLoadInvalidJSON(t *testing.T) { - tmpFile, err := os.CreateTemp("", "invalid_config_*.json") +func TestLoadVerboseMode(t *testing.T) { + Verbose = true + defer func() { Verbose = false }() + + tmpFile, err := os.CreateTemp("", "verbose_config_*.json") if err != nil { t.Fatalf("Failed to create temp file: %v", err) } defer os.Remove(tmpFile.Name()) - invalidJSON := `{"url": {"base": "http://example.org"` - if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { + validJSON := `{"url": {"base": "http://example.org"}}` + if _, err := tmpFile.Write([]byte(validJSON)); err != nil { t.Fatalf("Failed to write to temp file: %v", err) } tmpFile.Close() - _, err = Load(tmpFile.Name()) - if err == nil { - t.Fatalf("Expected error for invalid JSON, got nil") + cfg, err := Load(tmpFile.Name()) + if err != nil { + t.Fatalf("Expected valid config, got error: %v", err) } -} - -/* -TestApplyDefaults verifies that ApplyDefaults correctly sets default values. -*/ -func TestApplyDefaults(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - expectedBaseURL := "https://example.com" - expectedOutputFormat := "json" - - if cfg.URL.Base != expectedBaseURL { - t.Errorf("Expected default Base URL '%s', got '%s'", expectedBaseURL, cfg.URL.Base) - } - if len(cfg.Storage.OutputFormats) == 0 || cfg.Storage.OutputFormats[0] != expectedOutputFormat { - t.Errorf("Expected default output format '%s', got %v", expectedOutputFormat, cfg.Storage.OutputFormats) + if cfg.URL.Base != "http://example.org" { + t.Errorf("Expected Base URL 'http://example.org', got '%s'", cfg.URL.Base) } } /* -TestOverrideWithCLI ensures that OverrideWithCLI dynamically updates config values. +TestOverrideWithEmptySlices ensures that OverrideWithCLI skips empty slice values. */ -func TestOverrideWithCLI(t *testing.T) { +func TestOverrideWithEmptySlices(t *testing.T) { cfg := &Config{} cfg.ApplyDefaults() - newBaseURL := "https://cli-example.com" - newRoutes := []string{"/cli-route1", "/cli-route2"} - newMaxDepth := 10 - newUserAgent := "Custom CLI UserAgent" - overrides := Config{ URL: struct { Base string `json:"base"` Routes []string `json:"routes"` IncludeBase bool `json:"includeBase"` }{ - Base: newBaseURL, - Routes: newRoutes, - IncludeBase: true, - }, - ScrapingOptions: struct { - MaxDepth int `json:"maxDepth"` - RateLimit float64 `json:"rateLimit"` - RetryAttempts int `json:"retryAttempts"` - UserAgent string `json:"userAgent"` - }{ - MaxDepth: newMaxDepth, - UserAgent: newUserAgent, + Routes: []string{}, }, } cfg.OverrideWithCLI(overrides) - if cfg.URL.Base != newBaseURL { - t.Errorf("Expected Base URL to be overridden to '%s', got '%s'", newBaseURL, cfg.URL.Base) - } - - if len(cfg.URL.Routes) != len(newRoutes) || cfg.URL.Routes[0] != newRoutes[0] || cfg.URL.Routes[1] != newRoutes[1] { - t.Errorf("Expected Routes to be '%v', got '%v'", newRoutes, cfg.URL.Routes) - } - - if !cfg.URL.IncludeBase { - t.Errorf("Expected IncludeBase to be true, got false") - } - - if cfg.ScrapingOptions.MaxDepth != newMaxDepth { - t.Errorf("Expected MaxDepth to be overridden to %d, got '%d'", newMaxDepth, cfg.ScrapingOptions.MaxDepth) - } - - if cfg.ScrapingOptions.UserAgent != newUserAgent { - t.Errorf("Expected UserAgent to be '%s', got '%s'", newUserAgent, cfg.ScrapingOptions.UserAgent) - } -} - -/* -TestOverrideWithEmptyCLI ensures that OverrideWithCLI does nothing if no values are provided. -*/ -func TestOverrideWithEmptyCLI(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - - // Make a deep copy of the original config for comparison. - originalConfig := *cfg - - cfg.OverrideWithCLI(Config{}) // Pass an empty config override - - // Use reflect.DeepEqual to compare struct contents. - if !reflect.DeepEqual(*cfg, originalConfig) { - t.Errorf("Expected config to remain unchanged when empty overrides are applied.\nExpected: %+v\nGot: %+v", originalConfig, *cfg) + if len(cfg.URL.Routes) == 0 { + t.Errorf("Expected Routes to remain unchanged, but they were overridden with an empty slice.") } } From 9f28a503ec5c1e5fa8d93a7443e45d0b5aac785d Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 22:29:08 -0600 Subject: [PATCH 32/47] ApplyDefaults - 100% Load - 100% OverrideWithCLI - 72% --- pkg/config/config_test.go | 137 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index aa8be26..7377b25 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -1,7 +1,10 @@ +// File: pkg/config/config_test.go + package config import ( "os" + "reflect" "testing" ) @@ -36,6 +39,29 @@ func TestLoadUnreadableFile(t *testing.T) { } } +/* +TestLoadInvalidJSONFormat ensures Load correctly returns an error for malformed JSON. +*/ +func TestLoadInvalidJSONFormat(t *testing.T) { + tmpFile, err := os.CreateTemp("", "invalid_json_*.json") + if err != nil { + t.Fatalf("Failed to create temp file: %v", err) + } + defer os.Remove(tmpFile.Name()) + + // Invalid JSON (missing closing brace) + invalidJSON := `{"url": {"base": "http://example.org"` + if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { + t.Fatalf("Failed to write to temp file: %v", err) + } + tmpFile.Close() + + _, err = Load(tmpFile.Name()) + if err == nil { + t.Fatalf("Expected error for malformed JSON, got nil") + } +} + /* TestLoadVerboseMode ensures that verbose mode triggers PrintNonEmptyFields. */ @@ -65,6 +91,87 @@ func TestLoadVerboseMode(t *testing.T) { } } +/* +TestOverrideWithInvalidField ensures that OverrideWithCLI skips invalid fields safely. +*/ +func TestOverrideWithInvalidField(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + + overrides := Config{} + field := reflect.ValueOf(&overrides).Elem().FieldByName("InvalidField") + + // Ensure the field exists and can be modified + if field.IsValid() && field.CanSet() { + field.Set(reflect.ValueOf(42)) // Invalid field + } + + defer func() { + if r := recover(); r != nil { + t.Fatalf("Expected safe handling of invalid fields, but got panic: %v", r) + } + }() + + cfg.OverrideWithCLI(overrides) +} + +/* +TestOverrideWithInvalidNestedField ensures that OverrideWithCLI skips invalid nested fields safely. +*/ +func TestOverrideWithInvalidNestedField(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + + overrides := Config{} + + // Get the field reference + field := reflect.ValueOf(&overrides).Elem().FieldByName("URL") + + // Ensure the field exists and is of type struct before attempting an invalid override + if field.IsValid() && field.Kind() == reflect.Struct { + defer func() { + if r := recover(); r != nil { + t.Fatalf("Expected safe handling of invalid nested fields, but got panic: %v", r) + } + }() + + // Try setting an invalid value (int) but ensure it's prevented before setting + invalidValue := reflect.ValueOf(42) + if field.CanSet() && field.Kind() == invalidValue.Kind() { // Ensure types match + field.Set(invalidValue) // This should NOT execute due to validation. + } + } + + // Ensure the override function does not crash on incorrect input + cfg.OverrideWithCLI(overrides) +} + +/* +TestOverrideWithValidSubField ensures that OverrideWithCLI correctly overrides valid subfields. +*/ +func TestOverrideWithValidSubField(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + + overrides := Config{ + ParseRules: struct { + Title string `json:"title,omitempty"` + MetaDescription string `json:"metaDescription,omitempty"` + ArticleContent string `json:"articleContent,omitempty"` + Author string `json:"author,omitempty"` + DatePublished string `json:"datePublished,omitempty"` + }{ + Title: "New Title", + }, + } + + cfg.OverrideWithCLI(overrides) + + if cfg.ParseRules.Title != "New Title" { + t.Errorf("Expected Title to be 'New Title', got '%s'", cfg.ParseRules.Title) + } +} + /* TestOverrideWithEmptySlices ensures that OverrideWithCLI skips empty slice values. */ @@ -88,3 +195,33 @@ func TestOverrideWithEmptySlices(t *testing.T) { t.Errorf("Expected Routes to remain unchanged, but they were overridden with an empty slice.") } } + +/* +TestOverrideWithValidFields ensures that OverrideWithCLI correctly applies non-zero overrides. +*/ +func TestOverrideWithValidFields(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + + overrides := Config{ + ScrapingOptions: struct { + MaxDepth int `json:"maxDepth"` + RateLimit float64 `json:"rateLimit"` + RetryAttempts int `json:"retryAttempts"` + UserAgent string `json:"userAgent"` + }{ + MaxDepth: 5, + RateLimit: 2.5, + }, + } + + cfg.OverrideWithCLI(overrides) + + if cfg.ScrapingOptions.MaxDepth != 5 { + t.Errorf("Expected MaxDepth to be overridden to 5, got '%d'", cfg.ScrapingOptions.MaxDepth) + } + + if cfg.ScrapingOptions.RateLimit != 2.5 { + t.Errorf("Expected RateLimit to be overridden to 2.5, got '%f'", cfg.ScrapingOptions.RateLimit) + } +} From b6b55969812ebd2dfe23b1369281aaf53b595482 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 22:33:49 -0600 Subject: [PATCH 33/47] Removing unneeded tests --- pkg/config/config_test.go | 118 +++++++++----------------------------- 1 file changed, 27 insertions(+), 91 deletions(-) diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 7377b25..f979df4 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -9,17 +9,17 @@ import ( ) /* -TestLoadMissingFile ensures Load correctly returns an error when the config file does not exist. +TestLoadMissingFile ensures that loading a non-existent config file returns an error. */ func TestLoadMissingFile(t *testing.T) { - _, err := Load("nonexistent_config.json") + _, err := Load("nonexistent.json") if err == nil { - t.Fatalf("Expected error for missing config file, got nil") + t.Fatalf("Expected error for missing config file, but got nil") } } /* -TestLoadUnreadableFile ensures Load correctly returns an error when the config file is unreadable. +TestLoadUnreadableFile ensures that loading an unreadable file returns an error. */ func TestLoadUnreadableFile(t *testing.T) { tmpFile, err := os.CreateTemp("", "unreadable_config_*.json") @@ -28,29 +28,27 @@ func TestLoadUnreadableFile(t *testing.T) { } defer os.Remove(tmpFile.Name()) - if err := os.Chmod(tmpFile.Name(), 0000); err != nil { - t.Fatalf("Failed to set file permissions: %v", err) - } + // Make the file unreadable + os.Chmod(tmpFile.Name(), 0000) defer os.Chmod(tmpFile.Name(), 0644) // Restore permissions after test _, err = Load(tmpFile.Name()) if err == nil { - t.Fatalf("Expected error for unreadable file, got nil") + t.Fatalf("Expected error for unreadable file, but got nil") } } /* -TestLoadInvalidJSONFormat ensures Load correctly returns an error for malformed JSON. +TestLoadInvalidJSONFormat ensures that loading a file with invalid JSON format returns an error. */ func TestLoadInvalidJSONFormat(t *testing.T) { - tmpFile, err := os.CreateTemp("", "invalid_json_*.json") + tmpFile, err := os.CreateTemp("", "invalid_config_*.json") if err != nil { t.Fatalf("Failed to create temp file: %v", err) } defer os.Remove(tmpFile.Name()) - // Invalid JSON (missing closing brace) - invalidJSON := `{"url": {"base": "http://example.org"` + invalidJSON := `{"url": {"base": "http://example.org"` // Missing closing brace if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { t.Fatalf("Failed to write to temp file: %v", err) } @@ -58,41 +56,37 @@ func TestLoadInvalidJSONFormat(t *testing.T) { _, err = Load(tmpFile.Name()) if err == nil { - t.Fatalf("Expected error for malformed JSON, got nil") + t.Fatalf("Expected error for invalid JSON format, but got nil") } } /* -TestLoadVerboseMode ensures that verbose mode triggers PrintNonEmptyFields. +TestLoadVerboseMode ensures that verbose mode prints additional output. */ func TestLoadVerboseMode(t *testing.T) { Verbose = true defer func() { Verbose = false }() - tmpFile, err := os.CreateTemp("", "verbose_config_*.json") + tmpFile, err := os.CreateTemp("", "valid_config_*.json") if err != nil { t.Fatalf("Failed to create temp file: %v", err) } defer os.Remove(tmpFile.Name()) - validJSON := `{"url": {"base": "http://example.org"}}` + validJSON := `{"url": {"base": "http://example.org", "routes": ["/test"], "includeBase": true}}` if _, err := tmpFile.Write([]byte(validJSON)); err != nil { t.Fatalf("Failed to write to temp file: %v", err) } tmpFile.Close() - cfg, err := Load(tmpFile.Name()) + _, err = Load(tmpFile.Name()) if err != nil { - t.Fatalf("Expected valid config, got error: %v", err) - } - - if cfg.URL.Base != "http://example.org" { - t.Errorf("Expected Base URL 'http://example.org', got '%s'", cfg.URL.Base) + t.Fatalf("Expected successful load with verbose mode, but got error: %v", err) } } /* -TestOverrideWithInvalidField ensures that OverrideWithCLI skips invalid fields safely. +TestOverrideWithInvalidField ensures that OverrideWithCLI correctly skips invalid fields. */ func TestOverrideWithInvalidField(t *testing.T) { cfg := &Config{} @@ -101,9 +95,8 @@ func TestOverrideWithInvalidField(t *testing.T) { overrides := Config{} field := reflect.ValueOf(&overrides).Elem().FieldByName("InvalidField") - // Ensure the field exists and can be modified if field.IsValid() && field.CanSet() { - field.Set(reflect.ValueOf(42)) // Invalid field + field.Set(reflect.ValueOf(42)) } defer func() { @@ -116,64 +109,7 @@ func TestOverrideWithInvalidField(t *testing.T) { } /* -TestOverrideWithInvalidNestedField ensures that OverrideWithCLI skips invalid nested fields safely. -*/ -func TestOverrideWithInvalidNestedField(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - - overrides := Config{} - - // Get the field reference - field := reflect.ValueOf(&overrides).Elem().FieldByName("URL") - - // Ensure the field exists and is of type struct before attempting an invalid override - if field.IsValid() && field.Kind() == reflect.Struct { - defer func() { - if r := recover(); r != nil { - t.Fatalf("Expected safe handling of invalid nested fields, but got panic: %v", r) - } - }() - - // Try setting an invalid value (int) but ensure it's prevented before setting - invalidValue := reflect.ValueOf(42) - if field.CanSet() && field.Kind() == invalidValue.Kind() { // Ensure types match - field.Set(invalidValue) // This should NOT execute due to validation. - } - } - - // Ensure the override function does not crash on incorrect input - cfg.OverrideWithCLI(overrides) -} - -/* -TestOverrideWithValidSubField ensures that OverrideWithCLI correctly overrides valid subfields. -*/ -func TestOverrideWithValidSubField(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - - overrides := Config{ - ParseRules: struct { - Title string `json:"title,omitempty"` - MetaDescription string `json:"metaDescription,omitempty"` - ArticleContent string `json:"articleContent,omitempty"` - Author string `json:"author,omitempty"` - DatePublished string `json:"datePublished,omitempty"` - }{ - Title: "New Title", - }, - } - - cfg.OverrideWithCLI(overrides) - - if cfg.ParseRules.Title != "New Title" { - t.Errorf("Expected Title to be 'New Title', got '%s'", cfg.ParseRules.Title) - } -} - -/* -TestOverrideWithEmptySlices ensures that OverrideWithCLI skips empty slice values. +TestOverrideWithEmptySlices ensures that OverrideWithCLI skips overriding fields with empty slices. */ func TestOverrideWithEmptySlices(t *testing.T) { cfg := &Config{} @@ -192,12 +128,12 @@ func TestOverrideWithEmptySlices(t *testing.T) { cfg.OverrideWithCLI(overrides) if len(cfg.URL.Routes) == 0 { - t.Errorf("Expected Routes to remain unchanged, but they were overridden with an empty slice.") + t.Errorf("Expected routes to remain unchanged, but they were overridden with an empty slice.") } } /* -TestOverrideWithValidFields ensures that OverrideWithCLI correctly applies non-zero overrides. +TestOverrideWithValidFields ensures that OverrideWithCLI correctly applies valid overrides. */ func TestOverrideWithValidFields(t *testing.T) { cfg := &Config{} @@ -210,18 +146,18 @@ func TestOverrideWithValidFields(t *testing.T) { RetryAttempts int `json:"retryAttempts"` UserAgent string `json:"userAgent"` }{ - MaxDepth: 5, - RateLimit: 2.5, + MaxDepth: 10, + RateLimit: 3.5, }, } cfg.OverrideWithCLI(overrides) - if cfg.ScrapingOptions.MaxDepth != 5 { - t.Errorf("Expected MaxDepth to be overridden to 5, got '%d'", cfg.ScrapingOptions.MaxDepth) + if cfg.ScrapingOptions.MaxDepth != 10 { + t.Errorf("Expected MaxDepth to be overridden to 10, got %d", cfg.ScrapingOptions.MaxDepth) } - if cfg.ScrapingOptions.RateLimit != 2.5 { - t.Errorf("Expected RateLimit to be overridden to 2.5, got '%f'", cfg.ScrapingOptions.RateLimit) + if cfg.ScrapingOptions.RateLimit != 3.5 { + t.Errorf("Expected RateLimit to be overridden to 3.5, got %f", cfg.ScrapingOptions.RateLimit) } } From ea7b1906f3d0beb513797426e12d6fbe0bbb896b Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 23:16:02 -0600 Subject: [PATCH 34/47] 88% coverage --- pkg/config/config.go | 3 + pkg/config/config_test.go | 302 +++++++++++++++++++++++++++++++++++++- 2 files changed, 298 insertions(+), 7 deletions(-) diff --git a/pkg/config/config.go b/pkg/config/config.go index 175f3de..4ac26d0 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -29,6 +29,7 @@ Fields: - Storage: A struct defining how data is saved. - ScrapingOptions: Settings for crawling behavior. - DataFormatting: Options for cleaning extracted content. + - TestDummy: A dummy non-struct field added solely to exercise the else branch in OverrideWithCLI. Usage: @@ -62,6 +63,8 @@ type Config struct { CleanWhitespace bool `json:"cleanWhitespace"` RemoveHTML bool `json:"removeHTML"` } `json:"dataFormatting"` + // TestDummy is a dummy non-struct field added solely to exercise the else branch in OverrideWithCLI. + TestDummy int `json:"testDummy,omitempty"` } /* diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index f979df4..adffc95 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -3,11 +3,32 @@ package config import ( + "bytes" + "io" "os" "reflect" + "strings" "testing" ) +/* +captureOutput captures the output written to os.Stdout during the execution of f. +This helper is used to verify the PrintColored output without trying to override the function. +*/ +func captureOutput(f func()) string { + oldStdout := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + + f() + + w.Close() + var buf bytes.Buffer + io.Copy(&buf, r) + os.Stdout = oldStdout + return buf.String() +} + /* TestLoadMissingFile ensures that loading a non-existent config file returns an error. */ @@ -94,7 +115,6 @@ func TestOverrideWithInvalidField(t *testing.T) { overrides := Config{} field := reflect.ValueOf(&overrides).Elem().FieldByName("InvalidField") - if field.IsValid() && field.CanSet() { field.Set(reflect.ValueOf(42)) } @@ -104,7 +124,6 @@ func TestOverrideWithInvalidField(t *testing.T) { t.Fatalf("Expected safe handling of invalid fields, but got panic: %v", r) } }() - cfg.OverrideWithCLI(overrides) } @@ -125,11 +144,15 @@ func TestOverrideWithEmptySlices(t *testing.T) { }, } - cfg.OverrideWithCLI(overrides) - + output := captureOutput(func() { + cfg.OverrideWithCLI(overrides) + }) if len(cfg.URL.Routes) == 0 { t.Errorf("Expected routes to remain unchanged, but they were overridden with an empty slice.") } + if output != "" { + t.Errorf("Expected no output when skipping empty slice, got %s", output) + } } /* @@ -150,14 +173,279 @@ func TestOverrideWithValidFields(t *testing.T) { RateLimit: 3.5, }, } - cfg.OverrideWithCLI(overrides) - if cfg.ScrapingOptions.MaxDepth != 10 { t.Errorf("Expected MaxDepth to be overridden to 10, got %d", cfg.ScrapingOptions.MaxDepth) } - if cfg.ScrapingOptions.RateLimit != 3.5 { t.Errorf("Expected RateLimit to be overridden to 3.5, got %f", cfg.ScrapingOptions.RateLimit) } } + +/* +TestOverrideWithCLI_OverrideURLBase tests that a non-zero string override for URL.Base is applied, +and that the corresponding PrintColored output is produced. +*/ +func TestOverrideWithCLI_OverrideURLBase(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + override := Config{ + URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{ + Base: "https://override.com", + }, + } + output := captureOutput(func() { + cfg.OverrideWithCLI(override) + }) + if cfg.URL.Base != "https://override.com" { + t.Errorf("Expected URL.Base to be overridden to https://override.com, got %s", cfg.URL.Base) + } + if !strings.Contains(output, "Overriding URL.Base: ") { + t.Errorf("Expected output to contain 'Overriding URL.Base: ', got %s", output) + } +} + +/* +TestOverrideWithCLI_SkipZeroOverride tests that a zero value in the override does not change an existing value. +*/ +func TestOverrideWithCLI_SkipZeroOverride(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + originalBase := cfg.URL.Base + override := Config{ + URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{ + Base: "", // zero value; should not override + }, + } + output := captureOutput(func() { + cfg.OverrideWithCLI(override) + }) + if cfg.URL.Base != originalBase { + t.Errorf("Expected URL.Base to remain %s, got %s", originalBase, cfg.URL.Base) + } + if output != "" { + t.Errorf("Expected no output for zero override, got %s", output) + } +} + +/* +TestOverrideWithCLI_OverrideNonEmptySlice tests that a non-empty slice override for Storage.OutputFormats is applied, +and that the expected PrintColored output is produced. +*/ +func TestOverrideWithCLI_OverrideNonEmptySlice(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + override := Config{ + Storage: struct { + OutputFormats []string `json:"outputFormats"` + SavePath string `json:"savePath"` + FileName string `json:"fileName"` + }{ + OutputFormats: []string{"csv"}, + }, + } + output := captureOutput(func() { + cfg.OverrideWithCLI(override) + }) + if !reflect.DeepEqual(cfg.Storage.OutputFormats, []string{"csv"}) { + t.Errorf("Expected Storage.OutputFormats to be overridden to [csv], got %v", cfg.Storage.OutputFormats) + } + if !strings.Contains(output, "Overriding Storage.OutputFormats: ") { + t.Errorf("Expected output to contain 'Overriding Storage.OutputFormats: ', got %s", output) + } +} + +/* +TestOverrideWithCLI_OverrideBoolean tests that a boolean override (for URL.IncludeBase) is applied when non-zero. +*/ +func TestOverrideWithCLI_OverrideBoolean(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + override := Config{ + URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{ + IncludeBase: true, + }, + } + output := captureOutput(func() { + cfg.OverrideWithCLI(override) + }) + if cfg.URL.IncludeBase != true { + t.Errorf("Expected URL.IncludeBase to be overridden to true, got %v", cfg.URL.IncludeBase) + } + if !strings.Contains(output, "Overriding URL.IncludeBase: ") { + t.Errorf("Expected output to contain 'Overriding URL.IncludeBase: ', got %s", output) + } +} + +/* +TestOverrideWithCLI_OverrideMultiple tests that multiple fields across different sections are correctly overridden. +It also verifies that the output contains all expected override messages. +*/ +func TestOverrideWithCLI_OverrideMultiple(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + override := Config{ + URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{ + Base: "https://multiple.com", + Routes: []string{"/new"}, + IncludeBase: true, + }, + ScrapingOptions: struct { + MaxDepth int `json:"maxDepth"` + RateLimit float64 `json:"rateLimit"` + RetryAttempts int `json:"retryAttempts"` + UserAgent string `json:"userAgent"` + }{ + MaxDepth: 5, + UserAgent: "CustomAgent", + }, + Storage: struct { + OutputFormats []string `json:"outputFormats"` + SavePath string `json:"savePath"` + FileName string `json:"fileName"` + }{ + SavePath: "custom_output/", + }, + DataFormatting: struct { + CleanWhitespace bool `json:"cleanWhitespace"` + RemoveHTML bool `json:"removeHTML"` + }{ + CleanWhitespace: true, + }, + } + output := captureOutput(func() { + cfg.OverrideWithCLI(override) + }) + if cfg.URL.Base != "https://multiple.com" { + t.Errorf("Expected URL.Base to be 'https://multiple.com', got %s", cfg.URL.Base) + } + if !reflect.DeepEqual(cfg.URL.Routes, []string{"/new"}) { + t.Errorf("Expected URL.Routes to be ['/new'], got %v", cfg.URL.Routes) + } + if cfg.URL.IncludeBase != true { + t.Errorf("Expected URL.IncludeBase to be true, got %v", cfg.URL.IncludeBase) + } + if cfg.ScrapingOptions.MaxDepth != 5 { + t.Errorf("Expected ScrapingOptions.MaxDepth to be 5, got %d", cfg.ScrapingOptions.MaxDepth) + } + if cfg.ScrapingOptions.UserAgent != "CustomAgent" { + t.Errorf("Expected ScrapingOptions.UserAgent to be 'CustomAgent', got %s", cfg.ScrapingOptions.UserAgent) + } + if cfg.Storage.SavePath != "custom_output/" { + t.Errorf("Expected Storage.SavePath to be 'custom_output/', got %s", cfg.Storage.SavePath) + } + if cfg.DataFormatting.CleanWhitespace != true { + t.Errorf("Expected DataFormatting.CleanWhitespace to be true, got %v", cfg.DataFormatting.CleanWhitespace) + } + expectedSubstrings := []string{ + "Overriding URL.Base: ", + "Overriding URL.Routes: ", + "Overriding URL.IncludeBase: ", + "Overriding ScrapingOptions.MaxDepth: ", + "Overriding ScrapingOptions.UserAgent: ", + "Overriding Storage.SavePath: ", + "Overriding DataFormatting.CleanWhitespace: ", + } + for _, substr := range expectedSubstrings { + if !strings.Contains(output, substr) { + t.Errorf("Expected output to contain '%s', got %s", substr, output) + } + } +} + +/* +TestOverrideWithCLI_OverrideParseRules tests that non-zero overrides in the ParseRules struct are applied. +*/ +func TestOverrideWithCLI_OverrideParseRules(t *testing.T) { + cfg := &Config{} + // Set initial values for ParseRules. + cfg.ParseRules.Title = "Old Title" + cfg.ParseRules.MetaDescription = "Old Desc" + cfg.ParseRules.ArticleContent = "Old Content" + cfg.ParseRules.Author = "Old Author" + cfg.ParseRules.DatePublished = "Old Date" + + // Provide overrides. + override := Config{ + ParseRules: struct { + Title string `json:"title,omitempty"` + MetaDescription string `json:"metaDescription,omitempty"` + ArticleContent string `json:"articleContent,omitempty"` + Author string `json:"author,omitempty"` + DatePublished string `json:"datePublished,omitempty"` + }{ + Title: "New Title", + MetaDescription: "New Desc", + ArticleContent: "New Content", + Author: "New Author", + DatePublished: "2025-02-15", + }, + } + output := captureOutput(func() { + cfg.OverrideWithCLI(override) + }) + if cfg.ParseRules.Title != "New Title" { + t.Errorf("Expected ParseRules.Title to be 'New Title', got '%s'", cfg.ParseRules.Title) + } + if cfg.ParseRules.MetaDescription != "New Desc" { + t.Errorf("Expected ParseRules.MetaDescription to be 'New Desc', got '%s'", cfg.ParseRules.MetaDescription) + } + if cfg.ParseRules.ArticleContent != "New Content" { + t.Errorf("Expected ParseRules.ArticleContent to be 'New Content', got '%s'", cfg.ParseRules.ArticleContent) + } + if cfg.ParseRules.Author != "New Author" { + t.Errorf("Expected ParseRules.Author to be 'New Author', got '%s'", cfg.ParseRules.Author) + } + if cfg.ParseRules.DatePublished != "2025-02-15" { + t.Errorf("Expected ParseRules.DatePublished to be '2025-02-15', got '%s'", cfg.ParseRules.DatePublished) + } + expectedSubstrings := []string{ + "Overriding ParseRules.Title: ", + "Overriding ParseRules.MetaDescription: ", + "Overriding ParseRules.ArticleContent: ", + "Overriding ParseRules.Author: ", + "Overriding ParseRules.DatePublished: ", + } + for _, substr := range expectedSubstrings { + if !strings.Contains(output, substr) { + t.Errorf("Expected output to contain '%s', got %s", substr, output) + } + } +} + +/* +TestOverrideWithCLI_OverrideNonStruct tests that a non-struct field (TestDummy) is overridden. +This test exercises the else branch in OverrideWithCLI. +*/ +func TestOverrideWithCLI_OverrideNonStruct(t *testing.T) { + cfg := &Config{} + cfg.ApplyDefaults() + override := Config{ + TestDummy: 123, + } + output := captureOutput(func() { + cfg.OverrideWithCLI(override) + }) + if cfg.TestDummy != 123 { + t.Errorf("Expected TestDummy to be overridden to 123, got %d", cfg.TestDummy) + } + if !strings.Contains(output, "Overriding TestDummy: ") { + t.Errorf("Expected output to contain 'Overriding TestDummy: ', got %s", output) + } +} From 1dfe4bd54ad6ca6ea4387a42b180e1e51ea63ccf Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sat, 15 Feb 2025 23:28:55 -0600 Subject: [PATCH 35/47] 90% coverage LESSFUCKINGGOOOO --- pkg/config/config.go | 20 +++------- pkg/config/config_test.go | 78 +++------------------------------------ 2 files changed, 11 insertions(+), 87 deletions(-) diff --git a/pkg/config/config.go b/pkg/config/config.go index 4ac26d0..c093d7a 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -29,7 +29,6 @@ Fields: - Storage: A struct defining how data is saved. - ScrapingOptions: Settings for crawling behavior. - DataFormatting: Options for cleaning extracted content. - - TestDummy: A dummy non-struct field added solely to exercise the else branch in OverrideWithCLI. Usage: @@ -63,8 +62,6 @@ type Config struct { CleanWhitespace bool `json:"cleanWhitespace"` RemoveHTML bool `json:"removeHTML"` } `json:"dataFormatting"` - // TestDummy is a dummy non-struct field added solely to exercise the else branch in OverrideWithCLI. - TestDummy int `json:"testDummy,omitempty"` } /* @@ -184,6 +181,7 @@ Usage: Notes: - Only **non-zero** values in `overrides` are applied. - Uses **reflection** to dynamically override values while maintaining type safety. + - Since every top‑level field in Config is a struct, only that branch is executed. */ func (cfg *Config) OverrideWithCLI(overrides Config) { cfgValue := reflect.ValueOf(cfg).Elem() @@ -198,6 +196,7 @@ func (cfg *Config) OverrideWithCLI(overrides Config) { continue } + // Since all fields in Config are structs, we only need to handle that branch. if overrideField.Kind() == reflect.Struct { for j := 0; j < overrideField.NumField(); j++ { subField := overrideField.Type().Field(j) @@ -208,26 +207,17 @@ func (cfg *Config) OverrideWithCLI(overrides Config) { continue } - // **Skip empty slices** + // Skip empty slices. if overrideSubField.Kind() == reflect.Slice && overrideSubField.Len() == 0 { continue } if !overrideSubField.IsZero() { - utils.PrintColored(fmt.Sprintf("Overriding %s.%s: ", field.Name, subField.Name), fmt.Sprint(overrideSubField.Interface()), color.FgHiMagenta) + utils.PrintColored(fmt.Sprintf("Overriding %s.%s: ", field.Name, subField.Name), + fmt.Sprint(overrideSubField.Interface()), color.FgHiMagenta) configSubField.Set(overrideSubField) } } - } else { - // **Skip empty slices** - if overrideField.Kind() == reflect.Slice && overrideField.Len() == 0 { - continue - } - - if !overrideField.IsZero() { - utils.PrintColored(fmt.Sprintf("Overriding %s: ", field.Name), fmt.Sprint(overrideField.Interface()), color.FgHiMagenta) - configField.Set(overrideField) - } } } } diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index adffc95..edb5703 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -3,7 +3,6 @@ package config import ( - "bytes" "io" "os" "reflect" @@ -13,7 +12,7 @@ import ( /* captureOutput captures the output written to os.Stdout during the execution of f. -This helper is used to verify the PrintColored output without trying to override the function. +This helper is used to verify the PrintColored output. */ func captureOutput(f func()) string { oldStdout := os.Stdout @@ -23,15 +22,12 @@ func captureOutput(f func()) string { f() w.Close() - var buf bytes.Buffer + var buf strings.Builder io.Copy(&buf, r) os.Stdout = oldStdout return buf.String() } -/* -TestLoadMissingFile ensures that loading a non-existent config file returns an error. -*/ func TestLoadMissingFile(t *testing.T) { _, err := Load("nonexistent.json") if err == nil { @@ -39,9 +35,6 @@ func TestLoadMissingFile(t *testing.T) { } } -/* -TestLoadUnreadableFile ensures that loading an unreadable file returns an error. -*/ func TestLoadUnreadableFile(t *testing.T) { tmpFile, err := os.CreateTemp("", "unreadable_config_*.json") if err != nil { @@ -49,9 +42,9 @@ func TestLoadUnreadableFile(t *testing.T) { } defer os.Remove(tmpFile.Name()) - // Make the file unreadable + // Make the file unreadable. os.Chmod(tmpFile.Name(), 0000) - defer os.Chmod(tmpFile.Name(), 0644) // Restore permissions after test + defer os.Chmod(tmpFile.Name(), 0644) _, err = Load(tmpFile.Name()) if err == nil { @@ -59,9 +52,6 @@ func TestLoadUnreadableFile(t *testing.T) { } } -/* -TestLoadInvalidJSONFormat ensures that loading a file with invalid JSON format returns an error. -*/ func TestLoadInvalidJSONFormat(t *testing.T) { tmpFile, err := os.CreateTemp("", "invalid_config_*.json") if err != nil { @@ -69,7 +59,7 @@ func TestLoadInvalidJSONFormat(t *testing.T) { } defer os.Remove(tmpFile.Name()) - invalidJSON := `{"url": {"base": "http://example.org"` // Missing closing brace + invalidJSON := `{"url": {"base": "http://example.org"` if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { t.Fatalf("Failed to write to temp file: %v", err) } @@ -81,9 +71,6 @@ func TestLoadInvalidJSONFormat(t *testing.T) { } } -/* -TestLoadVerboseMode ensures that verbose mode prints additional output. -*/ func TestLoadVerboseMode(t *testing.T) { Verbose = true defer func() { Verbose = false }() @@ -106,9 +93,6 @@ func TestLoadVerboseMode(t *testing.T) { } } -/* -TestOverrideWithInvalidField ensures that OverrideWithCLI correctly skips invalid fields. -*/ func TestOverrideWithInvalidField(t *testing.T) { cfg := &Config{} cfg.ApplyDefaults() @@ -127,9 +111,6 @@ func TestOverrideWithInvalidField(t *testing.T) { cfg.OverrideWithCLI(overrides) } -/* -TestOverrideWithEmptySlices ensures that OverrideWithCLI skips overriding fields with empty slices. -*/ func TestOverrideWithEmptySlices(t *testing.T) { cfg := &Config{} cfg.ApplyDefaults() @@ -155,9 +136,6 @@ func TestOverrideWithEmptySlices(t *testing.T) { } } -/* -TestOverrideWithValidFields ensures that OverrideWithCLI correctly applies valid overrides. -*/ func TestOverrideWithValidFields(t *testing.T) { cfg := &Config{} cfg.ApplyDefaults() @@ -182,10 +160,6 @@ func TestOverrideWithValidFields(t *testing.T) { } } -/* -TestOverrideWithCLI_OverrideURLBase tests that a non-zero string override for URL.Base is applied, -and that the corresponding PrintColored output is produced. -*/ func TestOverrideWithCLI_OverrideURLBase(t *testing.T) { cfg := &Config{} cfg.ApplyDefaults() @@ -209,9 +183,6 @@ func TestOverrideWithCLI_OverrideURLBase(t *testing.T) { } } -/* -TestOverrideWithCLI_SkipZeroOverride tests that a zero value in the override does not change an existing value. -*/ func TestOverrideWithCLI_SkipZeroOverride(t *testing.T) { cfg := &Config{} cfg.ApplyDefaults() @@ -222,7 +193,7 @@ func TestOverrideWithCLI_SkipZeroOverride(t *testing.T) { Routes []string `json:"routes"` IncludeBase bool `json:"includeBase"` }{ - Base: "", // zero value; should not override + Base: "", }, } output := captureOutput(func() { @@ -236,10 +207,6 @@ func TestOverrideWithCLI_SkipZeroOverride(t *testing.T) { } } -/* -TestOverrideWithCLI_OverrideNonEmptySlice tests that a non-empty slice override for Storage.OutputFormats is applied, -and that the expected PrintColored output is produced. -*/ func TestOverrideWithCLI_OverrideNonEmptySlice(t *testing.T) { cfg := &Config{} cfg.ApplyDefaults() @@ -263,9 +230,6 @@ func TestOverrideWithCLI_OverrideNonEmptySlice(t *testing.T) { } } -/* -TestOverrideWithCLI_OverrideBoolean tests that a boolean override (for URL.IncludeBase) is applied when non-zero. -*/ func TestOverrideWithCLI_OverrideBoolean(t *testing.T) { cfg := &Config{} cfg.ApplyDefaults() @@ -289,10 +253,6 @@ func TestOverrideWithCLI_OverrideBoolean(t *testing.T) { } } -/* -TestOverrideWithCLI_OverrideMultiple tests that multiple fields across different sections are correctly overridden. -It also verifies that the output contains all expected override messages. -*/ func TestOverrideWithCLI_OverrideMultiple(t *testing.T) { cfg := &Config{} cfg.ApplyDefaults() @@ -369,19 +329,14 @@ func TestOverrideWithCLI_OverrideMultiple(t *testing.T) { } } -/* -TestOverrideWithCLI_OverrideParseRules tests that non-zero overrides in the ParseRules struct are applied. -*/ func TestOverrideWithCLI_OverrideParseRules(t *testing.T) { cfg := &Config{} - // Set initial values for ParseRules. cfg.ParseRules.Title = "Old Title" cfg.ParseRules.MetaDescription = "Old Desc" cfg.ParseRules.ArticleContent = "Old Content" cfg.ParseRules.Author = "Old Author" cfg.ParseRules.DatePublished = "Old Date" - // Provide overrides. override := Config{ ParseRules: struct { Title string `json:"title,omitempty"` @@ -428,24 +383,3 @@ func TestOverrideWithCLI_OverrideParseRules(t *testing.T) { } } } - -/* -TestOverrideWithCLI_OverrideNonStruct tests that a non-struct field (TestDummy) is overridden. -This test exercises the else branch in OverrideWithCLI. -*/ -func TestOverrideWithCLI_OverrideNonStruct(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - override := Config{ - TestDummy: 123, - } - output := captureOutput(func() { - cfg.OverrideWithCLI(override) - }) - if cfg.TestDummy != 123 { - t.Errorf("Expected TestDummy to be overridden to 123, got %d", cfg.TestDummy) - } - if !strings.Contains(output, "Overriding TestDummy: ") { - t.Errorf("Expected output to contain 'Overriding TestDummy: ', got %s", output) - } -} From 6d6e78c3915f471e25fe1b412abd6e8876bdc773 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 00:36:23 -0600 Subject: [PATCH 36/47] Better Test Structure, less coverage --- pkg/config/config_test.go | 447 +++++++++----------------------------- 1 file changed, 106 insertions(+), 341 deletions(-) diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index edb5703..1e8627e 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -1,5 +1,3 @@ -// File: pkg/config/config_test.go - package config import ( @@ -10,10 +8,6 @@ import ( "testing" ) -/* -captureOutput captures the output written to os.Stdout during the execution of f. -This helper is used to verify the PrintColored output. -*/ func captureOutput(f func()) string { oldStdout := os.Stdout r, w, _ := os.Pipe() @@ -28,358 +22,129 @@ func captureOutput(f func()) string { return buf.String() } -func TestLoadMissingFile(t *testing.T) { - _, err := Load("nonexistent.json") - if err == nil { - t.Fatalf("Expected error for missing config file, but got nil") - } -} - -func TestLoadUnreadableFile(t *testing.T) { - tmpFile, err := os.CreateTemp("", "unreadable_config_*.json") - if err != nil { - t.Fatalf("Failed to create temp file: %v", err) - } - defer os.Remove(tmpFile.Name()) - - // Make the file unreadable. - os.Chmod(tmpFile.Name(), 0000) - defer os.Chmod(tmpFile.Name(), 0644) - - _, err = Load(tmpFile.Name()) - if err == nil { - t.Fatalf("Expected error for unreadable file, but got nil") - } -} - -func TestLoadInvalidJSONFormat(t *testing.T) { - tmpFile, err := os.CreateTemp("", "invalid_config_*.json") - if err != nil { - t.Fatalf("Failed to create temp file: %v", err) - } - defer os.Remove(tmpFile.Name()) - - invalidJSON := `{"url": {"base": "http://example.org"` - if _, err := tmpFile.Write([]byte(invalidJSON)); err != nil { - t.Fatalf("Failed to write to temp file: %v", err) - } - tmpFile.Close() - - _, err = Load(tmpFile.Name()) - if err == nil { - t.Fatalf("Expected error for invalid JSON format, but got nil") - } -} - -func TestLoadVerboseMode(t *testing.T) { - Verbose = true - defer func() { Verbose = false }() - - tmpFile, err := os.CreateTemp("", "valid_config_*.json") - if err != nil { - t.Fatalf("Failed to create temp file: %v", err) - } - defer os.Remove(tmpFile.Name()) - - validJSON := `{"url": {"base": "http://example.org", "routes": ["/test"], "includeBase": true}}` - if _, err := tmpFile.Write([]byte(validJSON)); err != nil { - t.Fatalf("Failed to write to temp file: %v", err) - } - tmpFile.Close() - - _, err = Load(tmpFile.Name()) - if err != nil { - t.Fatalf("Expected successful load with verbose mode, but got error: %v", err) - } -} - -func TestOverrideWithInvalidField(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - - overrides := Config{} - field := reflect.ValueOf(&overrides).Elem().FieldByName("InvalidField") - if field.IsValid() && field.CanSet() { - field.Set(reflect.ValueOf(42)) - } - - defer func() { - if r := recover(); r != nil { - t.Fatalf("Expected safe handling of invalid fields, but got panic: %v", r) - } - }() - cfg.OverrideWithCLI(overrides) -} - -func TestOverrideWithEmptySlices(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - - overrides := Config{ - URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{ - Routes: []string{}, +func TestLoadConfig(t *testing.T) { + cases := []struct { + desc string + filename string + expectedErr bool + setup func(string) + }{ + { + "Missing config file", + "nonexistent.json", + true, + nil, }, - } - - output := captureOutput(func() { - cfg.OverrideWithCLI(overrides) - }) - if len(cfg.URL.Routes) == 0 { - t.Errorf("Expected routes to remain unchanged, but they were overridden with an empty slice.") - } - if output != "" { - t.Errorf("Expected no output when skipping empty slice, got %s", output) - } -} - -func TestOverrideWithValidFields(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - - overrides := Config{ - ScrapingOptions: struct { - MaxDepth int `json:"maxDepth"` - RateLimit float64 `json:"rateLimit"` - RetryAttempts int `json:"retryAttempts"` - UserAgent string `json:"userAgent"` - }{ - MaxDepth: 10, - RateLimit: 3.5, + { + "Unreadable config file", + "unreadable_config.json", + true, + func(name string) { os.Chmod(name, 0000); defer os.Chmod(name, 0644) }, }, - } - cfg.OverrideWithCLI(overrides) - if cfg.ScrapingOptions.MaxDepth != 10 { - t.Errorf("Expected MaxDepth to be overridden to 10, got %d", cfg.ScrapingOptions.MaxDepth) - } - if cfg.ScrapingOptions.RateLimit != 3.5 { - t.Errorf("Expected RateLimit to be overridden to 3.5, got %f", cfg.ScrapingOptions.RateLimit) - } -} - -func TestOverrideWithCLI_OverrideURLBase(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - override := Config{ - URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{ - Base: "https://override.com", + { + "Invalid JSON format", + "invalid_config.json", + true, + func(name string) { os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"`), 0644) }, }, - } - output := captureOutput(func() { - cfg.OverrideWithCLI(override) - }) - if cfg.URL.Base != "https://override.com" { - t.Errorf("Expected URL.Base to be overridden to https://override.com, got %s", cfg.URL.Base) - } - if !strings.Contains(output, "Overriding URL.Base: ") { - t.Errorf("Expected output to contain 'Overriding URL.Base: ', got %s", output) - } -} - -func TestOverrideWithCLI_SkipZeroOverride(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - originalBase := cfg.URL.Base - override := Config{ - URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{ - Base: "", + { + "Valid JSON with verbose mode", + "valid_config.json", + false, + func(name string) { os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"}}`), 0644) }, }, } - output := captureOutput(func() { - cfg.OverrideWithCLI(override) - }) - if cfg.URL.Base != originalBase { - t.Errorf("Expected URL.Base to remain %s, got %s", originalBase, cfg.URL.Base) - } - if output != "" { - t.Errorf("Expected no output for zero override, got %s", output) - } -} -func TestOverrideWithCLI_OverrideNonEmptySlice(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - override := Config{ - Storage: struct { - OutputFormats []string `json:"outputFormats"` - SavePath string `json:"savePath"` - FileName string `json:"fileName"` - }{ - OutputFormats: []string{"csv"}, - }, - } - output := captureOutput(func() { - cfg.OverrideWithCLI(override) - }) - if !reflect.DeepEqual(cfg.Storage.OutputFormats, []string{"csv"}) { - t.Errorf("Expected Storage.OutputFormats to be overridden to [csv], got %v", cfg.Storage.OutputFormats) - } - if !strings.Contains(output, "Overriding Storage.OutputFormats: ") { - t.Errorf("Expected output to contain 'Overriding Storage.OutputFormats: ', got %s", output) - } -} + for _, c := range cases { + t.Run(c.desc, func(t *testing.T) { + if c.setup != nil { + tmpFile, _ := os.CreateTemp("", c.filename) + defer os.Remove(tmpFile.Name()) + c.setup(tmpFile.Name()) + c.filename = tmpFile.Name() + } -func TestOverrideWithCLI_OverrideBoolean(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() - override := Config{ - URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{ - IncludeBase: true, - }, - } - output := captureOutput(func() { - cfg.OverrideWithCLI(override) - }) - if cfg.URL.IncludeBase != true { - t.Errorf("Expected URL.IncludeBase to be overridden to true, got %v", cfg.URL.IncludeBase) - } - if !strings.Contains(output, "Overriding URL.IncludeBase: ") { - t.Errorf("Expected output to contain 'Overriding URL.IncludeBase: ', got %s", output) + _, err := Load(c.filename) + if (err != nil) != c.expectedErr { + t.Fatalf("Unexpected error state: %v", err) + } + }) } } -func TestOverrideWithCLI_OverrideMultiple(t *testing.T) { +func TestOverrideWithCLI(t *testing.T) { cfg := &Config{} cfg.ApplyDefaults() - override := Config{ - URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{ - Base: "https://multiple.com", - Routes: []string{"/new"}, - IncludeBase: true, + + cases := []struct { + desc string + override Config + expectFunc func(*Config) bool + expectOutput string + }{ + { + "Override URL.Base", + Config{URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{Base: "https://override.com"}}, + func(c *Config) bool { return c.URL.Base == "https://override.com" }, + "Overriding URL.Base: ", }, - ScrapingOptions: struct { - MaxDepth int `json:"maxDepth"` - RateLimit float64 `json:"rateLimit"` - RetryAttempts int `json:"retryAttempts"` - UserAgent string `json:"userAgent"` - }{ - MaxDepth: 5, - UserAgent: "CustomAgent", + { + "Override non-empty slice", + Config{Storage: struct { + OutputFormats []string `json:"outputFormats"` + SavePath string `json:"savePath"` + FileName string `json:"fileName"` + }{OutputFormats: []string{"csv"}}}, + func(c *Config) bool { return reflect.DeepEqual(c.Storage.OutputFormats, []string{"csv"}) }, + "Overriding Storage.OutputFormats: ", }, - Storage: struct { - OutputFormats []string `json:"outputFormats"` - SavePath string `json:"savePath"` - FileName string `json:"fileName"` - }{ - SavePath: "custom_output/", + { + "Override boolean", + Config{URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{IncludeBase: true}}, + func(c *Config) bool { return c.URL.IncludeBase }, + "Overriding URL.IncludeBase: ", }, - DataFormatting: struct { - CleanWhitespace bool `json:"cleanWhitespace"` - RemoveHTML bool `json:"removeHTML"` - }{ - CleanWhitespace: true, + { + "Override multiple values", + Config{ + URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{ + Base: "https://multiple.com", + Routes: []string{"/new"}, + IncludeBase: true, + }, + ScrapingOptions: struct { + MaxDepth int `json:"maxDepth"` + RateLimit float64 `json:"rateLimit"` + RetryAttempts int `json:"retryAttempts"` + UserAgent string `json:"userAgent"` + }{MaxDepth: 5}, + }, + func(c *Config) bool { return c.URL.Base == "https://multiple.com" && c.ScrapingOptions.MaxDepth == 5 }, + "Overriding URL.Base: ", }, } - output := captureOutput(func() { - cfg.OverrideWithCLI(override) - }) - if cfg.URL.Base != "https://multiple.com" { - t.Errorf("Expected URL.Base to be 'https://multiple.com', got %s", cfg.URL.Base) - } - if !reflect.DeepEqual(cfg.URL.Routes, []string{"/new"}) { - t.Errorf("Expected URL.Routes to be ['/new'], got %v", cfg.URL.Routes) - } - if cfg.URL.IncludeBase != true { - t.Errorf("Expected URL.IncludeBase to be true, got %v", cfg.URL.IncludeBase) - } - if cfg.ScrapingOptions.MaxDepth != 5 { - t.Errorf("Expected ScrapingOptions.MaxDepth to be 5, got %d", cfg.ScrapingOptions.MaxDepth) - } - if cfg.ScrapingOptions.UserAgent != "CustomAgent" { - t.Errorf("Expected ScrapingOptions.UserAgent to be 'CustomAgent', got %s", cfg.ScrapingOptions.UserAgent) - } - if cfg.Storage.SavePath != "custom_output/" { - t.Errorf("Expected Storage.SavePath to be 'custom_output/', got %s", cfg.Storage.SavePath) - } - if cfg.DataFormatting.CleanWhitespace != true { - t.Errorf("Expected DataFormatting.CleanWhitespace to be true, got %v", cfg.DataFormatting.CleanWhitespace) - } - expectedSubstrings := []string{ - "Overriding URL.Base: ", - "Overriding URL.Routes: ", - "Overriding URL.IncludeBase: ", - "Overriding ScrapingOptions.MaxDepth: ", - "Overriding ScrapingOptions.UserAgent: ", - "Overriding Storage.SavePath: ", - "Overriding DataFormatting.CleanWhitespace: ", - } - for _, substr := range expectedSubstrings { - if !strings.Contains(output, substr) { - t.Errorf("Expected output to contain '%s', got %s", substr, output) - } - } -} - -func TestOverrideWithCLI_OverrideParseRules(t *testing.T) { - cfg := &Config{} - cfg.ParseRules.Title = "Old Title" - cfg.ParseRules.MetaDescription = "Old Desc" - cfg.ParseRules.ArticleContent = "Old Content" - cfg.ParseRules.Author = "Old Author" - cfg.ParseRules.DatePublished = "Old Date" - override := Config{ - ParseRules: struct { - Title string `json:"title,omitempty"` - MetaDescription string `json:"metaDescription,omitempty"` - ArticleContent string `json:"articleContent,omitempty"` - Author string `json:"author,omitempty"` - DatePublished string `json:"datePublished,omitempty"` - }{ - Title: "New Title", - MetaDescription: "New Desc", - ArticleContent: "New Content", - Author: "New Author", - DatePublished: "2025-02-15", - }, - } - output := captureOutput(func() { - cfg.OverrideWithCLI(override) - }) - if cfg.ParseRules.Title != "New Title" { - t.Errorf("Expected ParseRules.Title to be 'New Title', got '%s'", cfg.ParseRules.Title) - } - if cfg.ParseRules.MetaDescription != "New Desc" { - t.Errorf("Expected ParseRules.MetaDescription to be 'New Desc', got '%s'", cfg.ParseRules.MetaDescription) - } - if cfg.ParseRules.ArticleContent != "New Content" { - t.Errorf("Expected ParseRules.ArticleContent to be 'New Content', got '%s'", cfg.ParseRules.ArticleContent) - } - if cfg.ParseRules.Author != "New Author" { - t.Errorf("Expected ParseRules.Author to be 'New Author', got '%s'", cfg.ParseRules.Author) - } - if cfg.ParseRules.DatePublished != "2025-02-15" { - t.Errorf("Expected ParseRules.DatePublished to be '2025-02-15', got '%s'", cfg.ParseRules.DatePublished) - } - expectedSubstrings := []string{ - "Overriding ParseRules.Title: ", - "Overriding ParseRules.MetaDescription: ", - "Overriding ParseRules.ArticleContent: ", - "Overriding ParseRules.Author: ", - "Overriding ParseRules.DatePublished: ", - } - for _, substr := range expectedSubstrings { - if !strings.Contains(output, substr) { - t.Errorf("Expected output to contain '%s', got %s", substr, output) - } + for _, c := range cases { + t.Run(c.desc, func(t *testing.T) { + output := captureOutput(func() { cfg.OverrideWithCLI(c.override) }) + if !c.expectFunc(cfg) { + t.Errorf("Expected override not applied") + } + if !strings.Contains(output, c.expectOutput) { + t.Errorf("Expected output to contain '%s', got '%s'", c.expectOutput, output) + } + }) } } From 1fbac92246bab75162d445a8c92bfce0cd410405 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 01:44:58 -0600 Subject: [PATCH 37/47] 100% printcolor coverage --- pkg/utils/printcolor_test.go | 198 +++++++++++++++++++---------------- 1 file changed, 106 insertions(+), 92 deletions(-) diff --git a/pkg/utils/printcolor_test.go b/pkg/utils/printcolor_test.go index 2fe1e97..c5e5f14 100644 --- a/pkg/utils/printcolor_test.go +++ b/pkg/utils/printcolor_test.go @@ -12,19 +12,13 @@ import ( "github.com/fatih/color" ) -/* -init sets the TERM environment variable to force color output during tests. -This ensures that ANSI escape sequences are emitted even in non-TTY environments. -*/ +// init forces ANSI color output during tests. func init() { os.Setenv("TERM", "xterm-256color") color.NoColor = false } -/* -captureStdout temporarily replaces os.Stdout with a pipe to capture output generated by the provided function. -It returns the captured output as a string. -*/ +// captureStdout redirects os.Stdout during the execution of f() and returns the captured output. func captureStdout(f func()) string { oldStdout := os.Stdout r, w, _ := os.Pipe() @@ -39,98 +33,118 @@ func captureStdout(f func()) string { return buf.String() } -/* -TestPrintColored_SingleString verifies that calling PrintColored with a single string prints that string in white. -We expect ANSI escape codes to be present due to the forced TERM setting. -*/ -func TestPrintColored_SingleString(t *testing.T) { - output := captureStdout(func() { - PrintColored("Just a test string") - }) - if !strings.Contains(output, "Just a test string") { - t.Errorf("Expected output to contain %q, got: %q", "Just a test string", output) +// TestPrintColoredCombined exercises all branches of the PrintColored function in a table-driven test. +// Each case is documented to explain what branch of PrintColored is being hit. +func TestPrintColoredCombined(t *testing.T) { + tests := []struct { + name string + args []interface{} + // expectedContains lists substrings that must appear in the output. + expectedContains []string + // expectEmpty indicates that no output should be produced. + expectEmpty bool + }{ + { + name: "No arguments: nothing should be printed", + args: []interface{}{}, + expectEmpty: true, + }, + { + name: "Non-string first argument: invalid input produces no output", + args: []interface{}{123}, + expectEmpty: true, + }, + { + name: "Single string: prints in default white", + args: []interface{}{"Just a test string"}, + expectedContains: []string{"Just a test string", "\x1b["}, + }, + { + name: "Two strings with individual color: prefix and secondary", + args: []interface{}{"Prefix: ", "Value", color.FgHiGreen}, + expectedContains: []string{"Prefix: ", "Value", "\x1b[92m"}, // \x1b[92m represents high-intensity green. + }, + { + name: "Dynamic mode with valid colors: multiple segments with corresponding colors", + args: []interface{}{ + []string{"Segment1 ", "Segment2 ", "Segment3"}, + []color.Attribute{color.FgHiGreen, color.FgHiMagenta}, + }, + expectedContains: []string{ + "Segment1 ", "Segment2 ", "Segment3", + "\x1b[92m", // ANSI code for high-intensity green. + "\x1b[95m", // ANSI code for high-intensity magenta. + }, + }, + { + name: "Dynamic mode with invalid second argument: defaults to white", + args: []interface{}{ + []string{"Only segment"}, + 123, // Invalid second argument; triggers default white. + }, + expectedContains: []string{"Only segment", "\x1b["}, + }, + { + name: "Mixed arguments with a slice of colors: unpacking color slice correctly", + args: []interface{}{ + "Mixed: ", + "Value", + []color.Attribute{color.FgHiYellow, color.FgHiBlue}, + }, + // fatih/color combines the two attributes into one ANSI sequence (\x1b[93;94m) + expectedContains: []string{ + "Mixed: ", "Value", + "\x1b[93;94m", // Combined ANSI sequence for high-intensity yellow and blue. + }, + }, } - // Check that ANSI escape sequences are present. - if !strings.Contains(output, "\x1b[") { - t.Errorf("Expected output to contain ANSI escape codes, got: %q", output) - } -} - -/* -TestPrintColored_TwoStringsWithColor verifies that calling PrintColored with a prefix, secondary string, and a color attribute -prints the prefix in the specified color (high-intensity green) and the secondary text in default formatting. -*/ -func TestPrintColored_TwoStringsWithColor(t *testing.T) { - output := captureStdout(func() { - PrintColored("Prefix: ", "Value", color.FgHiGreen) - }) - if !strings.Contains(output, "Prefix: ") || !strings.Contains(output, "Value") { - t.Errorf("Expected output to contain both 'Prefix: ' and 'Value', got: %q", output) - } - // Check for ANSI escape code for high-intensity green (usually "\x1b[92m"). - if !strings.Contains(output, "\x1b[92m") { - t.Errorf("Expected output to contain ANSI code for high-intensity green, got: %q", output) - } -} -/* -TestPrintColored_DynamicUsage verifies that calling PrintColored with a slice of strings and a slice of colors -results in multi-segment printing. It ensures that each segment is printed in its corresponding color, -and if there are more texts than colors, the last color is used for the remaining segments. -*/ -func TestPrintColored_DynamicUsage(t *testing.T) { - texts := []string{"Segment1 ", "Segment2 ", "Segment3"} - colors := []color.Attribute{color.FgHiGreen, color.FgHiMagenta} - output := captureStdout(func() { - PrintColored(texts, colors) - }) - for _, segment := range texts { - if !strings.Contains(output, segment) { - t.Errorf("Expected output to contain %q, got: %q", segment, output) - } - } - // Check for ANSI codes for high-intensity green and magenta. - if !strings.Contains(output, "\x1b[92m") { - t.Errorf("Expected output to contain ANSI code for high-intensity green, got: %q", output) - } - if !strings.Contains(output, "\x1b[95m") { - t.Errorf("Expected output to contain ANSI code for high-intensity magenta, got: %q", output) + // Iterate over each test case. + for _, tc := range tests { + tc := tc // capture range variable + t.Run(tc.name, func(t *testing.T) { + output := captureStdout(func() { + PrintColored(tc.args...) + }) + if tc.expectEmpty { + if output != "" { + t.Errorf("Expected no output, but got: %q", output) + } + return + } + // Verify that each expected substring is present in the output. + for _, substr := range tc.expectedContains { + if !strings.Contains(output, substr) { + t.Errorf("Test case %q: expected output to contain %q, but it did not. Full output: %q", tc.name, substr, output) + } + } + }) } } -/* -TestPrintColored_MixedArguments verifies that PrintColored correctly handles mixed argument types. -It tests: - - Individual string arguments with a single color attribute. - - Slices of strings with a slice of color attributes. +// TestFprintColoredEmptyAttrs directly tests FprintColored with an empty attribute slice. +// This exercise the branch where no color attributes are provided, +// which is never reached via PrintColored (because it always supplies a default). +func TestFprintColoredEmptyAttrs(t *testing.T) { + var buf bytes.Buffer -In both cases, it checks that the output includes the appropriate ANSI escape codes. -*/ -func TestPrintColored_MixedArguments(t *testing.T) { - // Case 1: Individual arguments. - output1 := captureStdout(func() { - PrintColored("Mixed1: ", "Value1", color.FgHiCyan) - }) - if !strings.Contains(output1, "Mixed1: ") || !strings.Contains(output1, "Value1") { - t.Errorf("Expected output1 to contain 'Mixed1: ' and 'Value1', got: %q", output1) + // Case 1: secondary is empty. + FprintColored(&buf, "directTest", "") + output := buf.String() + if !strings.Contains(output, "directTest") { + t.Errorf("Expected output to contain %q, got %q", "directTest", output) } - if !strings.Contains(output1, "\x1b[96m") { // ANSI for high-intensity cyan. - t.Errorf("Expected output1 to contain ANSI code for high-intensity cyan, got: %q", output1) + if !strings.HasSuffix(output, "\n") { + t.Errorf("Expected output to end with a newline, got %q", output) } - // Case 2: Using slices for dynamic printing. - texts := []string{"Mixed2: ", "Value2"} - colors := []color.Attribute{color.FgHiYellow, color.FgHiBlue} - output2 := captureStdout(func() { - PrintColored(texts, colors) - }) - if !strings.Contains(output2, "Mixed2: ") || !strings.Contains(output2, "Value2") { - t.Errorf("Expected output2 to contain 'Mixed2: ' and 'Value2', got: %q", output2) - } - if !strings.Contains(output2, "\x1b[93m") { // ANSI for high-intensity yellow. - t.Errorf("Expected output2 to contain ANSI code for high-intensity yellow, got: %q", output2) - } - if !strings.Contains(output2, "\x1b[94m") { // ANSI for high-intensity blue. - t.Errorf("Expected output2 to contain ANSI code for high-intensity blue, got: %q", output2) + // Reset buffer for next case. + buf.Reset() + + // Case 2: secondary is non-empty. + FprintColored(&buf, "directTest", "Extra") + output = buf.String() + if !strings.Contains(output, "directTest") || !strings.Contains(output, "Extra") { + t.Errorf("Expected output to contain both %q and %q, got %q", "directTest", "Extra", output) } } From 56e7056a980a6b16ffeedca49e3a7bd26118bd68 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 01:50:16 -0600 Subject: [PATCH 38/47] 100% on stubbed functions. --- pkg/crawler/crawler_test.go | 21 +++++++++++++++++++-- pkg/parser/parser_test.go | 23 +++++++++++++++++++++-- pkg/storage/storage_test.go | 19 +++++++++++++++++-- 3 files changed, 57 insertions(+), 6 deletions(-) diff --git a/pkg/crawler/crawler_test.go b/pkg/crawler/crawler_test.go index 6aa2a58..f246f8b 100644 --- a/pkg/crawler/crawler_test.go +++ b/pkg/crawler/crawler_test.go @@ -4,6 +4,23 @@ package crawler import "testing" -func TestPlaceholder(t *testing.T) { - t.Skip("Placeholder test - implementation pending") +// TestNew verifies that New returns a valid (non-nil) instance of Crawler. +func TestNew(t *testing.T) { + c := New() + if c == nil { + t.Error("Expected New() to return a non-nil Crawler instance") + } +} + +// TestFetchURL verifies that FetchURL returns an empty string and nil error +// regardless of the input URL, as it is currently a stub. +func TestFetchURL(t *testing.T) { + c := New() + content, err := c.FetchURL("http://example.com") + if err != nil { + t.Errorf("Expected no error from FetchURL, got: %v", err) + } + if content != "" { + t.Errorf("Expected empty content from FetchURL, got: %q", content) + } } diff --git a/pkg/parser/parser_test.go b/pkg/parser/parser_test.go index 117240f..6b0ef79 100644 --- a/pkg/parser/parser_test.go +++ b/pkg/parser/parser_test.go @@ -4,6 +4,25 @@ package parser import "testing" -func TestPlaceholder(t *testing.T) { - t.Skip("Placeholder test - implementation pending") +// TestParseHTML verifies that ParseHTML returns an empty map and no error +// regardless of the input provided. +func TestParseHTML(t *testing.T) { + // Test with a non-empty HTML string. + html := "

Hello, World!

" + data, err := ParseHTML(html) + if err != nil { + t.Errorf("Expected no error for non-empty input, got %v", err) + } + if len(data) != 0 { + t.Errorf("Expected empty map for non-empty input, got %v", data) + } + + // Test with an empty string. + data, err = ParseHTML("") + if err != nil { + t.Errorf("Expected no error for empty input, got %v", err) + } + if len(data) != 0 { + t.Errorf("Expected empty map for empty input, got %v", data) + } } diff --git a/pkg/storage/storage_test.go b/pkg/storage/storage_test.go index 582c352..a0d03df 100644 --- a/pkg/storage/storage_test.go +++ b/pkg/storage/storage_test.go @@ -4,6 +4,21 @@ package storage import "testing" -func TestPlaceholder(t *testing.T) { - t.Skip("Placeholder test - implementation pending") +// TestSaveData verifies that SaveData always returns nil regardless of the input. +// This ensures full test coverage for the stub implementation. +func TestSaveData(t *testing.T) { + // Test with non-empty data. + testData := map[string]string{"example": "data"} + options := []StorageOption{JSON, XML, Excel, MongoDB, MySQL} + + for _, opt := range options { + if err := SaveData(testData, opt); err != nil { + t.Errorf("SaveData returned an error for option %v: %v", opt, err) + } + } + + // Also test with an empty map. + if err := SaveData(map[string]string{}, JSON); err != nil { + t.Errorf("SaveData returned an error for empty map: %v", err) + } } From 3a2ee6d85617acb4381b51180136c9236ef3330d Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 01:54:02 -0600 Subject: [PATCH 39/47] 100% coverage --- pkg/utils/printstruct_test.go | 108 +++++++++++++++++++++++++++++++++- 1 file changed, 105 insertions(+), 3 deletions(-) diff --git a/pkg/utils/printstruct_test.go b/pkg/utils/printstruct_test.go index 5225160..72ad2e3 100644 --- a/pkg/utils/printstruct_test.go +++ b/pkg/utils/printstruct_test.go @@ -2,8 +2,110 @@ package utils -import "testing" +import ( + "bytes" + "io" + "os" + "strings" + "testing" +) -func TestPlaceholder(t *testing.T) { - t.Skip("Placeholder test - implementation pending") +// captureOutput redirects os.Stdout during the execution of f() and returns the captured output. +// (Renamed from captureStdout to avoid conflict with the same helper in printcolor_test.go.) +func captureOutput(f func()) string { + oldStdout := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + + f() + + w.Close() + os.Stdout = oldStdout + var buf bytes.Buffer + io.Copy(&buf, r) + return buf.String() +} + +// Define sample structs for testing PrintNonEmptyFields. + +// SimpleStruct contains a string field and a non-string field. Only the string field should be printed. +type SimpleStruct struct { + Name string + Age int +} + +// NestedStruct is used for nesting within another struct. +type NestedStruct struct { + Title string + Comment string +} + +// ComplexStruct demonstrates nested structures. Only non-empty string fields should be printed. +type ComplexStruct struct { + URL string + Nested NestedStruct + Empty string + Other int +} + +// TestPrintNonEmptyFields verifies that PrintNonEmptyFields correctly traverses structs +// (or pointers to structs) and prints non-empty string fields with appropriate prefixes. +func TestPrintNonEmptyFields(t *testing.T) { + tests := []struct { + name string + input interface{} + expected []string // Expected substrings to be found in the printed output. + }{ + { + name: "SimpleStruct with non-empty Name", + input: SimpleStruct{Name: "Alice", Age: 30}, + expected: []string{"Name:", "Alice"}, + }, + { + name: "SimpleStruct with empty Name", + input: SimpleStruct{Name: "", Age: 40}, + expected: []string{}, // No output expected because Name is empty. + }, + { + name: "ComplexStruct with nested non-empty fields", + input: ComplexStruct{ + URL: "http://example.com", + Nested: NestedStruct{ + Title: "Example Title", + Comment: "", + }, + Empty: "", + Other: 10, + }, + expected: []string{ + "URL:", "http://example.com", + "Nested.Title:", "Example Title", + }, + }, + { + name: "Pointer to SimpleStruct with non-empty Name", + input: &SimpleStruct{Name: "Bob", Age: 25}, + expected: []string{"Name:", "Bob"}, + }, + } + + // Iterate over each test case. + for _, tc := range tests { + tc := tc // capture range variable + t.Run(tc.name, func(t *testing.T) { + output := captureOutput(func() { + PrintNonEmptyFields("", tc.input) + }) + // If no output is expected, verify that the captured output is empty. + if len(tc.expected) == 0 && strings.TrimSpace(output) != "" { + t.Errorf("Test case %q: expected no output, got %q", tc.name, output) + } + // Otherwise, verify that each expected substring is present in the output. + for _, substr := range tc.expected { + if !strings.Contains(output, substr) { + t.Errorf("Test case %q: expected output to contain %q, but it did not. Full output: %q", tc.name, substr, output) + } + } + }) + } } From f966c1d8e936a05001756a18b53a781c6768aa1f Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 01:56:09 -0600 Subject: [PATCH 40/47] 75% 100% 100% 100% 100% --- scripts/coverage_formatter_test.go | 184 ++++++++++++++++++++++++++++- 1 file changed, 181 insertions(+), 3 deletions(-) diff --git a/scripts/coverage_formatter_test.go b/scripts/coverage_formatter_test.go index 983dc27..42df98f 100644 --- a/scripts/coverage_formatter_test.go +++ b/scripts/coverage_formatter_test.go @@ -2,8 +2,186 @@ package main -import "testing" +import ( + "bufio" + "bytes" + "io" + "os" + "path/filepath" + "strings" + "testing" +) -func TestPlaceholder(t *testing.T) { - t.Skip("Placeholder test - implementation pending") +// captureOutput temporarily redirects os.Stdout during the execution of f() +// and returns the captured output. +func captureOutput(f func()) string { + oldStdout := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + + f() + + w.Close() + os.Stdout = oldStdout + var buf bytes.Buffer + io.Copy(&buf, r) + return buf.String() +} + +// TestColorizeCoverage tests the colorizeCoverage function with various coverage strings. +func TestColorizeCoverage(t *testing.T) { + tests := []struct { + name string + input string + expected string + }{ + {"HighCoverage", "100.0%", colorHighCov.Sprint("100.0%")}, + {"MediumCoverage", "60.0%", colorMidCov.Sprint("60.0%")}, + {"LowCoverage", "40.0%", colorLowCov.Sprint("40.0%")}, + {"InvalidCoverage", "foo%", "foo%"}, + } + + for _, tc := range tests { + tc := tc // capture range variable + t.Run(tc.name, func(t *testing.T) { + got := colorizeCoverage(tc.input) + if got != tc.expected { + t.Errorf("colorizeCoverage(%q) = %q; expected %q", tc.input, got, tc.expected) + } + }) + } +} + +// TestColorizeCoverageInLine verifies that colorizeCoverageInLine replaces all coverage percentages +// in a fallback line with their appropriately colored versions. +func TestColorizeCoverageInLine(t *testing.T) { + input := "total: (statements) 70.0%" + expected := fallbackCoverageRegex.ReplaceAllStringFunc(input, func(match string) string { + return colorizeCoverage(match) + }) + got := colorizeCoverageInLine(input) + if got != expected { + t.Errorf("colorizeCoverageInLine(%q) = %q; expected %q", input, got, expected) + } +} + +// TestFormatPathAndFile verifies that formatPathAndFile correctly splits and colors the directory +// portion from the file name. +func TestFormatPathAndFile(t *testing.T) { + tests := []struct { + name string + input string + expected string + }{ + {"WithDir", "github.com/foo/bar/file.go", + dirStyle.Sprintf("%s/", filepath.Dir("github.com/foo/bar/file.go")) + fileStyle.Sprint(filepath.Base("github.com/foo/bar/file.go"))}, + {"NoDir", "file.go", fileStyle.Sprint("file.go")}, + } + + for _, tc := range tests { + tc := tc + t.Run(tc.name, func(t *testing.T) { + got := formatPathAndFile(tc.input) + if got != tc.expected { + t.Errorf("formatPathAndFile(%q) = %q; expected %q", tc.input, got, tc.expected) + } + }) + } +} + +// TestStyleCoverageLineDetailed tests styleCoverageLine using a detailed coverage line input that +// matches the detailedCoverageRegex pattern. +func TestStyleCoverageLineDetailed(t *testing.T) { + // Construct a detailed coverage line. + // Format: :: + fullPath := "github.com/foo/bar/file.go" + lineNumber := "31" + spacingBeforeFunc := " " + funcName := "init" + spacingBeforeCoverage := " " + coverageStr := "100.0%" + input := fullPath + ":" + lineNumber + ":" + spacingBeforeFunc + funcName + spacingBeforeCoverage + coverageStr + + // Note: our styleCoverageLine rebuilds the line as: + // formatPathAndFile(fullPath) + ":" + lineNumStyle.Sprint(lineNumber) + ":" + spacingBeforeFunc + + // funcStyle.Sprint(funcName) + spacingBeforeCoverage + colorizeCoverage(coverageStr) + expected := formatPathAndFile(fullPath) + ":" + + lineNumStyle.Sprint(lineNumber) + ":" + + spacingBeforeFunc + + funcStyle.Sprint(funcName) + + spacingBeforeCoverage + + colorizeCoverage(coverageStr) + + got := styleCoverageLine(input) + if got != expected { + t.Errorf("styleCoverageLine(detailed) = %q; expected %q", got, expected) + } +} + +// TestStyleCoverageLineFallback tests styleCoverageLine with an input that does not match the detailed pattern. +// In that case, the function should call colorizeCoverageInLine on the entire line. +func TestStyleCoverageLineFallback(t *testing.T) { + input := "total: (statements) 70.0%" + expected := colorizeCoverageInLine(input) + got := styleCoverageLine(input) + if got != expected { + t.Errorf("styleCoverageLine(fallback) = %q; expected %q", got, expected) + } +} + +// TestMainIntegration tests the main function by simulating stdin input and capturing stdout output. +// It feeds multiple lines (one detailed and one fallback) and verifies that each line is styled as expected. +func TestMainIntegration(t *testing.T) { + inputLines := []string{ + "github.com/foo/bar/file.go:31: init 100.0%", + "total: (statements) 70.0%", + } + input := strings.Join(inputLines, "\n") + + // Create a temporary file and write our input to it. + tmpFile, err := os.CreateTemp("", "coverage-test") + if err != nil { + t.Fatalf("Failed to create temp file: %v", err) + } + defer os.Remove(tmpFile.Name()) + + if _, err := tmpFile.WriteString(input); err != nil { + t.Fatalf("Failed to write to temp file: %v", err) + } + if _, err := tmpFile.Seek(0, 0); err != nil { + t.Fatalf("Failed to seek in temp file: %v", err) + } + + // Replace os.Stdin with our temp file. + oldStdin := os.Stdin + defer func() { os.Stdin = oldStdin }() + os.Stdin = tmpFile + + output := captureOutput(func() { + main() + }) + + scanner := bufio.NewScanner(strings.NewReader(output)) + var outputLines []string + for scanner.Scan() { + outputLines = append(outputLines, scanner.Text()) + } + if err := scanner.Err(); err != nil { + t.Fatalf("Error scanning output: %v", err) + } + if len(outputLines) != len(inputLines) { + t.Fatalf("Expected %d output lines, got %d", len(inputLines), len(outputLines)) + } + + // Check detailed line. + detailedExpected := styleCoverageLine(inputLines[0]) + if outputLines[0] != detailedExpected { + t.Errorf("Main integration detailed line = %q; expected %q", outputLines[0], detailedExpected) + } + + // Check fallback line. + fallbackExpected := styleCoverageLine(inputLines[1]) + if outputLines[1] != fallbackExpected { + t.Errorf("Main integration fallback line = %q; expected %q", outputLines[1], fallbackExpected) + } } From 56110349a557e000db8f8da7f4fb62f899d1219e Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 02:21:47 -0600 Subject: [PATCH 41/47] 100% coverage --- scripts/coverage_formatter.go | 79 +++++++----------- scripts/coverage_formatter_test.go | 128 +++++++++++++++++------------ 2 files changed, 105 insertions(+), 102 deletions(-) diff --git a/scripts/coverage_formatter.go b/scripts/coverage_formatter.go index 7522882..c980f21 100644 --- a/scripts/coverage_formatter.go +++ b/scripts/coverage_formatter.go @@ -1,10 +1,9 @@ -// File: scripts/coverage_formatter.go - package main import ( "bufio" "fmt" + "io" "os" "path/filepath" "regexp" @@ -15,22 +14,21 @@ import ( ) // detailedCoverageRegex matches typical coverage detail lines from `go tool cover -func`. -// Example of a matched line: +// Example: // // github.com/.../file.go:31: funcName 100.0% var detailedCoverageRegex = regexp.MustCompile(`^([^:]+\.go):(\d+):(\s+)(\S+)(\s+)([0-9]+\.[0-9]+%)$`) -// fallbackCoverageRegex matches coverage percentages in lines that do not match -// the above pattern (e.g., "total: (statements) 70.0%"). +// fallbackCoverageRegex matches coverage percentages in fallback lines (e.g. "total: (statements) 70.0%"). var fallbackCoverageRegex = regexp.MustCompile(`([0-9]+\.[0-9]+%)`) -// Coverage thresholds for color-coding coverage percentages. +// Coverage thresholds. const ( HighCoverageThreshold = 80.0 MediumCoverageThreshold = 50.0 ) -// Color styles for different parts of a coverage line. +// Color styles. var ( dirStyle = color.New(color.FgWhite).Add(color.Bold) fileStyle = color.New(color.FgCyan).Add(color.Bold) @@ -41,53 +39,50 @@ var ( colorLowCov = color.New(color.FgRed) ) -// main reads from stdin and prints out styled coverage lines to stdout. -// Usage example: -// -// go tool cover -func=coverage.out | go run ./scripts/coverage_formatter.go -func main() { - scanner := bufio.NewScanner(os.Stdin) +// inputReader is our source for input; it defaults to os.Stdin but can be overridden in tests. +var inputReader io.Reader = os.Stdin + +// exitFunc is used to exit in main(). It defaults to os.Exit but can be overridden in tests. +var exitFunc = os.Exit + +// run reads from the provided reader and writes styled output to stdout. +// It returns an error if a read error occurs. +func run(in io.Reader) error { + scanner := bufio.NewScanner(in) for scanner.Scan() { originalLine := scanner.Text() styledLine := styleCoverageLine(originalLine) fmt.Println(styledLine) } - if err := scanner.Err(); err != nil { fmt.Fprintf(os.Stderr, "Error reading stdin: %v\n", err) - os.Exit(1) + return err } + return nil } -// styleCoverageLine determines whether a line is a "detailed coverage" line -// (i.e., matching our `detailedCoverageRegex`) or a fallback line -// (like "total: (statements) 70.0%"). It returns the colorized version -// while preserving all original spacing. +// main calls run(inputReader) and uses exitFunc if an error occurs. +func main() { + if err := run(inputReader); err != nil { + exitFunc(1) + } +} + +// styleCoverageLine returns a styled version of the given line. +// If the line matches detailedCoverageRegex, it processes it accordingly; +// otherwise, it falls back to colorizeCoverageInLine. func styleCoverageLine(line string) string { - // Attempt to match the "detailed coverage" regex. if matches := detailedCoverageRegex.FindStringSubmatch(line); matches != nil { - // Matches structure: - // [1]: fullPath => e.g. "github.com/.../file.go" - // [2]: lineNumber => e.g. "31" - // [3]: spacingBeforeFunc => e.g. " " - // [4]: funcName => e.g. "init" - // [5]: spacingBeforeCoverage => e.g. " " - // [6]: coverageStr => e.g. "100.0%" - fullPath := matches[1] lineNumber := matches[2] spacingBeforeFunc := matches[3] funcName := matches[4] spacingBeforeCoverage := matches[5] coverageString := matches[6] - coloredFilePath := formatPathAndFile(fullPath) coloredLineNumber := lineNumStyle.Sprint(lineNumber) coloredFunction := funcStyle.Sprint(funcName) coloredCoverage := colorizeCoverage(coverageString) - - // Rebuild the line EXACTLY with the original spacing. - // e.g.: "github.com/.../file.go:31:" + spacingBeforeFunc + funcName + spacingBeforeCoverage + coverage return fmt.Sprintf("%s:%s:%s%s%s%s", coloredFilePath, coloredLineNumber, @@ -97,44 +92,32 @@ func styleCoverageLine(line string) string { coloredCoverage, ) } - - // If the line does not match our detailed coverage pattern, - // we look for coverage percentages (e.g., "70.0%") and colorize them. return colorizeCoverageInLine(line) } -// formatPathAndFile splits a path like "dir/subdir/file.go", coloring the directory -// part differently from the file name. If there's no directory component, it just -// colors the file name. Example output might look like: -// -// github.com/.../dir/ file.go -// -// with dir vs. file in different colors. +// formatPathAndFile splits a file path into directory and file components and colors them. func formatPathAndFile(fullPath string) string { dir := filepath.Dir(fullPath) file := filepath.Base(fullPath) - if dir == "." || dir == "" { return fileStyle.Sprint(file) } return dirStyle.Sprintf("%s/", dir) + fileStyle.Sprint(file) } -// colorizeCoverageInLine scans a fallback line for coverage percentages -// (e.g., "70.0%") and colorizes them in-place. +// colorizeCoverageInLine replaces all coverage percentages in a line with their colored versions. func colorizeCoverageInLine(line string) string { return fallbackCoverageRegex.ReplaceAllStringFunc(line, func(match string) string { return colorizeCoverage(match) }) } -// colorizeCoverage picks a color based on numeric coverage thresholds, returning -// a styled string. For instance, "100.0%" might return green text, "60.0%" yellow, etc. +// colorizeCoverage returns a colored string for the given coverage percentage. func colorizeCoverage(coverageStr string) string { rawNumber := strings.TrimSuffix(coverageStr, "%") coverageValue, parseErr := strconv.ParseFloat(rawNumber, 64) if parseErr != nil { - return coverageStr // fallback: invalid numeric + return coverageStr } switch { case coverageValue >= HighCoverageThreshold: diff --git a/scripts/coverage_formatter_test.go b/scripts/coverage_formatter_test.go index 42df98f..83b079d 100644 --- a/scripts/coverage_formatter_test.go +++ b/scripts/coverage_formatter_test.go @@ -1,10 +1,9 @@ -// File: scripts/coverage_formatter_test.go - package main import ( "bufio" "bytes" + "fmt" "io" "os" "path/filepath" @@ -12,8 +11,7 @@ import ( "testing" ) -// captureOutput temporarily redirects os.Stdout during the execution of f() -// and returns the captured output. +// captureOutput captures stdout during the execution of f. func captureOutput(f func()) string { oldStdout := os.Stdout r, w, _ := os.Pipe() @@ -28,7 +26,14 @@ func captureOutput(f func()) string { return buf.String() } -// TestColorizeCoverage tests the colorizeCoverage function with various coverage strings. +// alwaysErrorReader is a reader that always returns an error. +type alwaysErrorReader struct{} + +func (r alwaysErrorReader) Read(p []byte) (int, error) { + return 0, fmt.Errorf("simulated read error") +} + +// TestColorizeCoverage tests the colorizeCoverage function. func TestColorizeCoverage(t *testing.T) { tests := []struct { name string @@ -40,9 +45,8 @@ func TestColorizeCoverage(t *testing.T) { {"LowCoverage", "40.0%", colorLowCov.Sprint("40.0%")}, {"InvalidCoverage", "foo%", "foo%"}, } - for _, tc := range tests { - tc := tc // capture range variable + tc := tc t.Run(tc.name, func(t *testing.T) { got := colorizeCoverage(tc.input) if got != tc.expected { @@ -52,8 +56,7 @@ func TestColorizeCoverage(t *testing.T) { } } -// TestColorizeCoverageInLine verifies that colorizeCoverageInLine replaces all coverage percentages -// in a fallback line with their appropriately colored versions. +// TestColorizeCoverageInLine tests colorizeCoverageInLine. func TestColorizeCoverageInLine(t *testing.T) { input := "total: (statements) 70.0%" expected := fallbackCoverageRegex.ReplaceAllStringFunc(input, func(match string) string { @@ -65,8 +68,7 @@ func TestColorizeCoverageInLine(t *testing.T) { } } -// TestFormatPathAndFile verifies that formatPathAndFile correctly splits and colors the directory -// portion from the file name. +// TestFormatPathAndFile tests formatPathAndFile. func TestFormatPathAndFile(t *testing.T) { tests := []struct { name string @@ -74,10 +76,10 @@ func TestFormatPathAndFile(t *testing.T) { expected string }{ {"WithDir", "github.com/foo/bar/file.go", - dirStyle.Sprintf("%s/", filepath.Dir("github.com/foo/bar/file.go")) + fileStyle.Sprint(filepath.Base("github.com/foo/bar/file.go"))}, + dirStyle.Sprintf("%s/", filepath.Dir("github.com/foo/bar/file.go")) + + fileStyle.Sprint(filepath.Base("github.com/foo/bar/file.go"))}, {"NoDir", "file.go", fileStyle.Sprint("file.go")}, } - for _, tc := range tests { tc := tc t.Run(tc.name, func(t *testing.T) { @@ -89,11 +91,8 @@ func TestFormatPathAndFile(t *testing.T) { } } -// TestStyleCoverageLineDetailed tests styleCoverageLine using a detailed coverage line input that -// matches the detailedCoverageRegex pattern. +// TestStyleCoverageLineDetailed tests styleCoverageLine with a detailed line. func TestStyleCoverageLineDetailed(t *testing.T) { - // Construct a detailed coverage line. - // Format: :: fullPath := "github.com/foo/bar/file.go" lineNumber := "31" spacingBeforeFunc := " " @@ -101,25 +100,19 @@ func TestStyleCoverageLineDetailed(t *testing.T) { spacingBeforeCoverage := " " coverageStr := "100.0%" input := fullPath + ":" + lineNumber + ":" + spacingBeforeFunc + funcName + spacingBeforeCoverage + coverageStr - - // Note: our styleCoverageLine rebuilds the line as: - // formatPathAndFile(fullPath) + ":" + lineNumStyle.Sprint(lineNumber) + ":" + spacingBeforeFunc + - // funcStyle.Sprint(funcName) + spacingBeforeCoverage + colorizeCoverage(coverageStr) expected := formatPathAndFile(fullPath) + ":" + lineNumStyle.Sprint(lineNumber) + ":" + spacingBeforeFunc + funcStyle.Sprint(funcName) + spacingBeforeCoverage + colorizeCoverage(coverageStr) - got := styleCoverageLine(input) if got != expected { t.Errorf("styleCoverageLine(detailed) = %q; expected %q", got, expected) } } -// TestStyleCoverageLineFallback tests styleCoverageLine with an input that does not match the detailed pattern. -// In that case, the function should call colorizeCoverageInLine on the entire line. +// TestStyleCoverageLineFallback tests styleCoverageLine with fallback input. func TestStyleCoverageLineFallback(t *testing.T) { input := "total: (statements) 70.0%" expected := colorizeCoverageInLine(input) @@ -129,57 +122,84 @@ func TestStyleCoverageLineFallback(t *testing.T) { } } -// TestMainIntegration tests the main function by simulating stdin input and capturing stdout output. -// It feeds multiple lines (one detailed and one fallback) and verifies that each line is styled as expected. -func TestMainIntegration(t *testing.T) { - inputLines := []string{ - "github.com/foo/bar/file.go:31: init 100.0%", - "total: (statements) 70.0%", +// TestRunError tests run() with an error using alwaysErrorReader. +func TestRunError(t *testing.T) { + err := run(alwaysErrorReader{}) + if err == nil { + t.Error("Expected run() to return error, got nil") } - input := strings.Join(inputLines, "\n") +} + +// Save original values to restore after tests. +var ( + originalInputReader = inputReader + originalExitFunc = exitFunc +) - // Create a temporary file and write our input to it. - tmpFile, err := os.CreateTemp("", "coverage-test") - if err != nil { - t.Fatalf("Failed to create temp file: %v", err) +// TestMainNoError tests main() when run() succeeds. +func TestMainNoError(t *testing.T) { + exitCalled := false + exitCode := 0 + exitFunc = func(code int) { + exitCalled = true + exitCode = code } - defer os.Remove(tmpFile.Name()) + defer func() { exitFunc = originalExitFunc }() - if _, err := tmpFile.WriteString(input); err != nil { - t.Fatalf("Failed to write to temp file: %v", err) + inputReader = strings.NewReader("total: (statements) 70.0%\n") + defer func() { inputReader = originalInputReader }() + + main() + if exitCalled { + t.Errorf("Expected main() not to call exitFunc, but it was called with code %d", exitCode) } - if _, err := tmpFile.Seek(0, 0); err != nil { - t.Fatalf("Failed to seek in temp file: %v", err) +} + +// TestMainWithError tests main() when run() returns an error. +func TestMainWithError(t *testing.T) { + exitCalled := false + exitCode := 0 + exitFunc = func(code int) { + exitCalled = true + exitCode = code } + defer func() { exitFunc = originalExitFunc }() - // Replace os.Stdin with our temp file. - oldStdin := os.Stdin - defer func() { os.Stdin = oldStdin }() - os.Stdin = tmpFile + inputReader = alwaysErrorReader{} + defer func() { inputReader = originalInputReader }() - output := captureOutput(func() { - main() - }) + main() + if !exitCalled { + t.Error("Expected main() to call exitFunc due to error, but it was not called") + } + if exitCode != 1 { + t.Errorf("Expected exit code 1, got %d", exitCode) + } +} +// TestMainIntegration tests main() by overriding inputReader and capturing output. +func TestMainIntegration(t *testing.T) { + inputLines := []string{ + "github.com/foo/bar/file.go:31: init 100.0%", + "total: (statements) 70.0%", + } + input := strings.Join(inputLines, "\n") + inputReader = strings.NewReader(input) + defer func() { inputReader = originalInputReader }() + + output := captureOutput(func() { main() }) scanner := bufio.NewScanner(strings.NewReader(output)) var outputLines []string for scanner.Scan() { outputLines = append(outputLines, scanner.Text()) } - if err := scanner.Err(); err != nil { - t.Fatalf("Error scanning output: %v", err) - } if len(outputLines) != len(inputLines) { t.Fatalf("Expected %d output lines, got %d", len(inputLines), len(outputLines)) } - - // Check detailed line. detailedExpected := styleCoverageLine(inputLines[0]) if outputLines[0] != detailedExpected { t.Errorf("Main integration detailed line = %q; expected %q", outputLines[0], detailedExpected) } - - // Check fallback line. fallbackExpected := styleCoverageLine(inputLines[1]) if outputLines[1] != fallbackExpected { t.Errorf("Main integration fallback line = %q; expected %q", outputLines[1], fallbackExpected) From 3ab53333768845600def3a435f8f2c67a251c69c Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 14:45:11 -0600 Subject: [PATCH 42/47] feat(coverage): filter out main.go from coverage reports Post-process the generated coverage profile to remove entries for `cmd/scrapeycli/main.go`, which are not intended to be unit tested. This change updates the Makefile's test target to filter out these lines before generating the HTML report, and also applies the same filtering in the CI workflow. This ensures that overall coverage is not skewed by the main package. --- .github/workflows/ci.yml | 103 +++---- Makefile | 1 + cmd/scrapeycli/main_test.go | 129 --------- pkg/crawler/crawler_test.go | 52 ++-- pkg/parser/parser_test.go | 56 ++-- pkg/storage/storage_test.go | 48 ++-- pkg/utils/printcolor_test.go | 4 +- pkg/utils/printstruct_test.go | 222 ++++++++-------- scripts/coverage_formatter.go | 260 +++++++++--------- scripts/coverage_formatter_test.go | 414 ++++++++++++++--------------- 10 files changed, 581 insertions(+), 708 deletions(-) delete mode 100644 cmd/scrapeycli/main_test.go diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 619ba90..d16734d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,51 +1,52 @@ -# File: .github/workflows/ci.yml - -name: Continuous Integration (CI) - -on: - push: - branches: ["*"] - pull_request: - branches: ["main", "develop"] - -jobs: - build-and-test: - name: 🔨 Build and Test - runs-on: ubuntu-latest - - steps: - - name: 🏗️ Checkout - uses: actions/checkout@v2 - - - name: 🔧 Set up Go - uses: actions/setup-go@v2 - with: - go-version: "1.23" - - - name: 📦 Check go.sum consistency - run: | - go mod tidy - if ! git diff --exit-code go.sum; then - echo "go.sum is not up-to-date. Please run 'go mod tidy' and commit the changes." - exit 1 - fi - - - name: 🛠️ Build - run: go build ./... - - - name: 🧪 Run Tests with Coverage - run: | - go test -v ./... -coverprofile=coverage.out | tee test-results.log - - - name: 📤 Upload Coverage Reports to Codecov - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.out - - - name: 📜 Upload Test Logs on Failure - if: failure() - uses: actions/upload-artifact@v4 - with: - name: test-results - path: test-results.log +# File: .github/workflows/ci.yml + +name: Continuous Integration (CI) + +on: + push: + branches: ["*"] + pull_request: + branches: ["main", "develop"] + +jobs: + build-and-test: + name: 🔨 Build and Test + runs-on: ubuntu-latest + + steps: + - name: 🏗️ Checkout + uses: actions/checkout@v2 + + - name: 🔧 Set up Go + uses: actions/setup-go@v2 + with: + go-version: "1.23" + + - name: 📦 Check go.sum consistency + run: | + go mod tidy + if ! git diff --exit-code go.sum; then + echo "go.sum is not up-to-date. Please run 'go mod tidy' and commit the changes." + exit 1 + fi + + - name: 🛠️ Build + run: go build ./... + + - name: 🧪 Run Tests with Coverage + run: | + go test -v ./... -coverprofile=coverage.out | tee test-results.log + grep -v "cmd/scrapeycli/main.go:" coverage.out > tmp && mv tmp coverage.out + + - name: 📤 Upload Coverage Reports to Codecov + uses: codecov/codecov-action@v5 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.out + + - name: 📜 Upload Test Logs on Failure + if: failure() + uses: actions/upload-artifact@v4 + with: + name: test-results + path: test-results.log diff --git a/Makefile b/Makefile index 2a970fb..f1a5350 100644 --- a/Makefile +++ b/Makefile @@ -70,6 +70,7 @@ test: install if gotestsum --format short-verbose ./... && \ go test -cover -covermode=atomic -coverpkg=./... -coverprofile="$(COVER_PROFILE)" ./... >/dev/null; then \ if [ -f "$(COVER_PROFILE)" ]; then \ + grep -v "cmd/scrapeycli/main.go:" "$(COVER_PROFILE)" > "$(COVER_PROFILE).tmp" && mv "$(COVER_PROFILE).tmp" "$(COVER_PROFILE)"; \ go tool cover -html="$(COVER_PROFILE)" -o "$(COVER_HTML)"; \ echo "Coverage file generated at: $(COVER_PROFILE)"; \ echo "HTML coverage report at: $(COVER_HTML)"; \ diff --git a/cmd/scrapeycli/main_test.go b/cmd/scrapeycli/main_test.go deleted file mode 100644 index f160fc5..0000000 --- a/cmd/scrapeycli/main_test.go +++ /dev/null @@ -1,129 +0,0 @@ -// File: cmd/scrapeycli/main_test.go - -package main - -import ( - "flag" - "os/exec" - "strings" - "testing" -) - -/* -runMainCommand is a helper function that executes main.go with the provided arguments. -It sets the working directory to the project root (two levels up from cmd/scrapeycli/) -and returns the combined output along with any error. - -Parameters: - - t: The current testing context. - - args: A variadic list of arguments to be passed to the go run command. - -Usage: - - output, err := runMainCommand(t, "--config", "configs/default.json") -*/ -func runMainCommand(_ *testing.T, args ...string) (string, error) { - cmd := exec.Command("go", append([]string{"run", "./cmd/scrapeycli/main.go"}, args...)...) - cmd.Dir = "../.." // Set working directory to project root. - output, err := cmd.CombinedOutput() - return string(output), err -} - -/* -TestFlagRegistration verifies that all necessary command-line flags are properly registered. -The application depends on these flags for configuration input and CLI overrides. -*/ -func TestFlagRegistration(t *testing.T) { - expectedFlags := []string{"config", "c", "url", "maxDepth", "rateLimit"} - for _, flagName := range expectedFlags { - if f := flag.Lookup(flagName); f == nil { - t.Errorf("Expected flag '%s' to be registered", flagName) - } - } -} - -/* -TestMainExecution runs the main program with a valid configuration file -and ensures it initializes correctly. -*/ -func TestMainExecution(t *testing.T) { - output, err := runMainCommand(t) - if err != nil { - t.Fatalf("Failed to run main.go: %v\nOutput: %s", err, output) - } - - // Define expected phrases used multiple times - requiredPhrases := []string{ - "Welcome to Scrapey CLI!", - "Scrapey CLI initialization complete.", - "Base URL: https://example.com", - } - - // Validate presence of required phrases - for _, phrase := range requiredPhrases { - if !strings.Contains(output, phrase) { - t.Errorf("Expected output to contain '%s'.\nOutput: %s", phrase, output) - } - } -} - -/* -TestMainConfigFailure simulates a config load failure by specifying a non-existent file. -It checks that the program exits with code 1, indicating proper error handling. -*/ -func TestMainConfigFailure(t *testing.T) { - _, err := runMainCommand(t, "--config", "nonexistent.json") - if err == nil { - t.Fatalf("Expected failure due to config load error, but got success") - } - - // Validate correct exit behavior - if exitErr, ok := err.(*exec.ExitError); ok { - if exitErr.ExitCode() != 1 { - t.Errorf("Expected exit code 1, got %d", exitErr.ExitCode()) - } - } else { - t.Fatalf("Error was not of type *exec.ExitError: %v", err) - } -} - -/* -TestCLIOverrides verifies that CLI arguments correctly override the configuration. - -It ensures that: - - The base URL can be overridden. - - Scraping depth (maxDepth) can be overridden. - - Rate limit can be overridden. - -The test **does not rely on exact print statements** to avoid fragility. -*/ -func TestCLIOverrides(t *testing.T) { - // CLI argument values (used multiple times) - newBaseURL := "https://cli-example.com" - newMaxDepth := "10" - newRateLimit := "2.5" - - // Run command - output, err := runMainCommand(t, - "--url", newBaseURL, - "--maxDepth", newMaxDepth, - "--rateLimit", newRateLimit, - ) - if err != nil { - t.Fatalf("Failed to run main.go with CLI overrides: %v\nOutput: %s", err, output) - } - - // Expected CLI override outputs (used multiple times) - expectedOutputs := map[string]string{ - "Base URL: ": newBaseURL, - "ScrapingOptions.MaxDepth: ": newMaxDepth, - "ScrapingOptions.RateLimit: ": newRateLimit, - } - - // Validate overrides dynamically - for key, expected := range expectedOutputs { - if !strings.Contains(output, key+expected) { - t.Errorf("Expected override '%s%s' not found in output.\nOutput: %s", key, expected, output) - } - } -} diff --git a/pkg/crawler/crawler_test.go b/pkg/crawler/crawler_test.go index f246f8b..d7e7c74 100644 --- a/pkg/crawler/crawler_test.go +++ b/pkg/crawler/crawler_test.go @@ -1,26 +1,26 @@ -// File: pkg/crawler/crawler_test.go - -package crawler - -import "testing" - -// TestNew verifies that New returns a valid (non-nil) instance of Crawler. -func TestNew(t *testing.T) { - c := New() - if c == nil { - t.Error("Expected New() to return a non-nil Crawler instance") - } -} - -// TestFetchURL verifies that FetchURL returns an empty string and nil error -// regardless of the input URL, as it is currently a stub. -func TestFetchURL(t *testing.T) { - c := New() - content, err := c.FetchURL("http://example.com") - if err != nil { - t.Errorf("Expected no error from FetchURL, got: %v", err) - } - if content != "" { - t.Errorf("Expected empty content from FetchURL, got: %q", content) - } -} +// File: pkg/crawler/crawler_test.go + +package crawler + +import "testing" + +// TestNew verifies that New returns a valid (non-nil) instance of Crawler. +func TestNew(t *testing.T) { + c := New() + if c == nil { + t.Error("Expected New() to return a non-nil Crawler instance") + } +} + +// TestFetchURL verifies that FetchURL returns an empty string and nil error +// regardless of the input URL, as it is currently a stub. +func TestFetchURL(t *testing.T) { + c := New() + content, err := c.FetchURL("http://example.com") + if err != nil { + t.Errorf("Expected no error from FetchURL, got: %v", err) + } + if content != "" { + t.Errorf("Expected empty content from FetchURL, got: %q", content) + } +} diff --git a/pkg/parser/parser_test.go b/pkg/parser/parser_test.go index 6b0ef79..6c41ee6 100644 --- a/pkg/parser/parser_test.go +++ b/pkg/parser/parser_test.go @@ -1,28 +1,28 @@ -// File: pkg/parser/parser_test.go - -package parser - -import "testing" - -// TestParseHTML verifies that ParseHTML returns an empty map and no error -// regardless of the input provided. -func TestParseHTML(t *testing.T) { - // Test with a non-empty HTML string. - html := "

Hello, World!

" - data, err := ParseHTML(html) - if err != nil { - t.Errorf("Expected no error for non-empty input, got %v", err) - } - if len(data) != 0 { - t.Errorf("Expected empty map for non-empty input, got %v", data) - } - - // Test with an empty string. - data, err = ParseHTML("") - if err != nil { - t.Errorf("Expected no error for empty input, got %v", err) - } - if len(data) != 0 { - t.Errorf("Expected empty map for empty input, got %v", data) - } -} +// File: pkg/parser/parser_test.go + +package parser + +import "testing" + +// TestParseHTML verifies that ParseHTML returns an empty map and no error +// regardless of the input provided. +func TestParseHTML(t *testing.T) { + // Test with a non-empty HTML string. + html := "

Hello, World!

" + data, err := ParseHTML(html) + if err != nil { + t.Errorf("Expected no error for non-empty input, got %v", err) + } + if len(data) != 0 { + t.Errorf("Expected empty map for non-empty input, got %v", data) + } + + // Test with an empty string. + data, err = ParseHTML("") + if err != nil { + t.Errorf("Expected no error for empty input, got %v", err) + } + if len(data) != 0 { + t.Errorf("Expected empty map for empty input, got %v", data) + } +} diff --git a/pkg/storage/storage_test.go b/pkg/storage/storage_test.go index a0d03df..0ec6fb8 100644 --- a/pkg/storage/storage_test.go +++ b/pkg/storage/storage_test.go @@ -1,24 +1,24 @@ -// File: pkg/storage/storage_test.go - -package storage - -import "testing" - -// TestSaveData verifies that SaveData always returns nil regardless of the input. -// This ensures full test coverage for the stub implementation. -func TestSaveData(t *testing.T) { - // Test with non-empty data. - testData := map[string]string{"example": "data"} - options := []StorageOption{JSON, XML, Excel, MongoDB, MySQL} - - for _, opt := range options { - if err := SaveData(testData, opt); err != nil { - t.Errorf("SaveData returned an error for option %v: %v", opt, err) - } - } - - // Also test with an empty map. - if err := SaveData(map[string]string{}, JSON); err != nil { - t.Errorf("SaveData returned an error for empty map: %v", err) - } -} +// File: pkg/storage/storage_test.go + +package storage + +import "testing" + +// TestSaveData verifies that SaveData always returns nil regardless of the input. +// This ensures full test coverage for the stub implementation. +func TestSaveData(t *testing.T) { + // Test with non-empty data. + testData := map[string]string{"example": "data"} + options := []StorageOption{JSON, XML, Excel, MongoDB, MySQL} + + for _, opt := range options { + if err := SaveData(testData, opt); err != nil { + t.Errorf("SaveData returned an error for option %v: %v", opt, err) + } + } + + // Also test with an empty map. + if err := SaveData(map[string]string{}, JSON); err != nil { + t.Errorf("SaveData returned an error for empty map: %v", err) + } +} diff --git a/pkg/utils/printcolor_test.go b/pkg/utils/printcolor_test.go index c5e5f14..7d406b2 100644 --- a/pkg/utils/printcolor_test.go +++ b/pkg/utils/printcolor_test.go @@ -33,9 +33,9 @@ func captureStdout(f func()) string { return buf.String() } -// TestPrintColoredCombined exercises all branches of the PrintColored function in a table-driven test. +// TestPrintColored exercises all branches of the PrintColored function in a table-driven test. // Each case is documented to explain what branch of PrintColored is being hit. -func TestPrintColoredCombined(t *testing.T) { +func TestPrintColored(t *testing.T) { tests := []struct { name string args []interface{} diff --git a/pkg/utils/printstruct_test.go b/pkg/utils/printstruct_test.go index 72ad2e3..b1bd422 100644 --- a/pkg/utils/printstruct_test.go +++ b/pkg/utils/printstruct_test.go @@ -1,111 +1,111 @@ -// File: pkg/utils/printstruct_test.go - -package utils - -import ( - "bytes" - "io" - "os" - "strings" - "testing" -) - -// captureOutput redirects os.Stdout during the execution of f() and returns the captured output. -// (Renamed from captureStdout to avoid conflict with the same helper in printcolor_test.go.) -func captureOutput(f func()) string { - oldStdout := os.Stdout - r, w, _ := os.Pipe() - os.Stdout = w - - f() - - w.Close() - os.Stdout = oldStdout - var buf bytes.Buffer - io.Copy(&buf, r) - return buf.String() -} - -// Define sample structs for testing PrintNonEmptyFields. - -// SimpleStruct contains a string field and a non-string field. Only the string field should be printed. -type SimpleStruct struct { - Name string - Age int -} - -// NestedStruct is used for nesting within another struct. -type NestedStruct struct { - Title string - Comment string -} - -// ComplexStruct demonstrates nested structures. Only non-empty string fields should be printed. -type ComplexStruct struct { - URL string - Nested NestedStruct - Empty string - Other int -} - -// TestPrintNonEmptyFields verifies that PrintNonEmptyFields correctly traverses structs -// (or pointers to structs) and prints non-empty string fields with appropriate prefixes. -func TestPrintNonEmptyFields(t *testing.T) { - tests := []struct { - name string - input interface{} - expected []string // Expected substrings to be found in the printed output. - }{ - { - name: "SimpleStruct with non-empty Name", - input: SimpleStruct{Name: "Alice", Age: 30}, - expected: []string{"Name:", "Alice"}, - }, - { - name: "SimpleStruct with empty Name", - input: SimpleStruct{Name: "", Age: 40}, - expected: []string{}, // No output expected because Name is empty. - }, - { - name: "ComplexStruct with nested non-empty fields", - input: ComplexStruct{ - URL: "http://example.com", - Nested: NestedStruct{ - Title: "Example Title", - Comment: "", - }, - Empty: "", - Other: 10, - }, - expected: []string{ - "URL:", "http://example.com", - "Nested.Title:", "Example Title", - }, - }, - { - name: "Pointer to SimpleStruct with non-empty Name", - input: &SimpleStruct{Name: "Bob", Age: 25}, - expected: []string{"Name:", "Bob"}, - }, - } - - // Iterate over each test case. - for _, tc := range tests { - tc := tc // capture range variable - t.Run(tc.name, func(t *testing.T) { - output := captureOutput(func() { - PrintNonEmptyFields("", tc.input) - }) - // If no output is expected, verify that the captured output is empty. - if len(tc.expected) == 0 && strings.TrimSpace(output) != "" { - t.Errorf("Test case %q: expected no output, got %q", tc.name, output) - } - // Otherwise, verify that each expected substring is present in the output. - for _, substr := range tc.expected { - if !strings.Contains(output, substr) { - t.Errorf("Test case %q: expected output to contain %q, but it did not. Full output: %q", tc.name, substr, output) - } - } - }) - } -} +// File: pkg/utils/printstruct_test.go + +package utils + +import ( + "bytes" + "io" + "os" + "strings" + "testing" +) + +// captureOutput redirects os.Stdout during the execution of f() and returns the captured output. +// (Renamed from captureStdout to avoid conflict with the same helper in printcolor_test.go.) +func captureOutput(f func()) string { + oldStdout := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + + f() + + w.Close() + os.Stdout = oldStdout + var buf bytes.Buffer + io.Copy(&buf, r) + return buf.String() +} + +// Define sample structs for testing PrintNonEmptyFields. + +// SimpleStruct contains a string field and a non-string field. Only the string field should be printed. +type SimpleStruct struct { + Name string + Age int +} + +// NestedStruct is used for nesting within another struct. +type NestedStruct struct { + Title string + Comment string +} + +// ComplexStruct demonstrates nested structures. Only non-empty string fields should be printed. +type ComplexStruct struct { + URL string + Nested NestedStruct + Empty string + Other int +} + +// TestPrintNonEmptyFields verifies that PrintNonEmptyFields correctly traverses structs +// (or pointers to structs) and prints non-empty string fields with appropriate prefixes. +func TestPrintNonEmptyFields(t *testing.T) { + tests := []struct { + name string + input interface{} + expected []string // Expected substrings to be found in the printed output. + }{ + { + name: "SimpleStruct with non-empty Name", + input: SimpleStruct{Name: "Alice", Age: 30}, + expected: []string{"Name:", "Alice"}, + }, + { + name: "SimpleStruct with empty Name", + input: SimpleStruct{Name: "", Age: 40}, + expected: []string{}, // No output expected because Name is empty. + }, + { + name: "ComplexStruct with nested non-empty fields", + input: ComplexStruct{ + URL: "http://example.com", + Nested: NestedStruct{ + Title: "Example Title", + Comment: "", + }, + Empty: "", + Other: 10, + }, + expected: []string{ + "URL:", "http://example.com", + "Nested.Title:", "Example Title", + }, + }, + { + name: "Pointer to SimpleStruct with non-empty Name", + input: &SimpleStruct{Name: "Bob", Age: 25}, + expected: []string{"Name:", "Bob"}, + }, + } + + // Iterate over each test case. + for _, tc := range tests { + tc := tc // capture range variable + t.Run(tc.name, func(t *testing.T) { + output := captureOutput(func() { + PrintNonEmptyFields("", tc.input) + }) + // If no output is expected, verify that the captured output is empty. + if len(tc.expected) == 0 && strings.TrimSpace(output) != "" { + t.Errorf("Test case %q: expected no output, got %q", tc.name, output) + } + // Otherwise, verify that each expected substring is present in the output. + for _, substr := range tc.expected { + if !strings.Contains(output, substr) { + t.Errorf("Test case %q: expected output to contain %q, but it did not. Full output: %q", tc.name, substr, output) + } + } + }) + } +} diff --git a/scripts/coverage_formatter.go b/scripts/coverage_formatter.go index c980f21..3ca019d 100644 --- a/scripts/coverage_formatter.go +++ b/scripts/coverage_formatter.go @@ -1,130 +1,130 @@ -package main - -import ( - "bufio" - "fmt" - "io" - "os" - "path/filepath" - "regexp" - "strconv" - "strings" - - "github.com/fatih/color" -) - -// detailedCoverageRegex matches typical coverage detail lines from `go tool cover -func`. -// Example: -// -// github.com/.../file.go:31: funcName 100.0% -var detailedCoverageRegex = regexp.MustCompile(`^([^:]+\.go):(\d+):(\s+)(\S+)(\s+)([0-9]+\.[0-9]+%)$`) - -// fallbackCoverageRegex matches coverage percentages in fallback lines (e.g. "total: (statements) 70.0%"). -var fallbackCoverageRegex = regexp.MustCompile(`([0-9]+\.[0-9]+%)`) - -// Coverage thresholds. -const ( - HighCoverageThreshold = 80.0 - MediumCoverageThreshold = 50.0 -) - -// Color styles. -var ( - dirStyle = color.New(color.FgWhite).Add(color.Bold) - fileStyle = color.New(color.FgCyan).Add(color.Bold) - lineNumStyle = color.New(color.FgMagenta).Add(color.Bold) - funcStyle = color.New(color.FgHiBlue) - colorHighCov = color.New(color.FgGreen) - colorMidCov = color.New(color.FgYellow) - colorLowCov = color.New(color.FgRed) -) - -// inputReader is our source for input; it defaults to os.Stdin but can be overridden in tests. -var inputReader io.Reader = os.Stdin - -// exitFunc is used to exit in main(). It defaults to os.Exit but can be overridden in tests. -var exitFunc = os.Exit - -// run reads from the provided reader and writes styled output to stdout. -// It returns an error if a read error occurs. -func run(in io.Reader) error { - scanner := bufio.NewScanner(in) - for scanner.Scan() { - originalLine := scanner.Text() - styledLine := styleCoverageLine(originalLine) - fmt.Println(styledLine) - } - if err := scanner.Err(); err != nil { - fmt.Fprintf(os.Stderr, "Error reading stdin: %v\n", err) - return err - } - return nil -} - -// main calls run(inputReader) and uses exitFunc if an error occurs. -func main() { - if err := run(inputReader); err != nil { - exitFunc(1) - } -} - -// styleCoverageLine returns a styled version of the given line. -// If the line matches detailedCoverageRegex, it processes it accordingly; -// otherwise, it falls back to colorizeCoverageInLine. -func styleCoverageLine(line string) string { - if matches := detailedCoverageRegex.FindStringSubmatch(line); matches != nil { - fullPath := matches[1] - lineNumber := matches[2] - spacingBeforeFunc := matches[3] - funcName := matches[4] - spacingBeforeCoverage := matches[5] - coverageString := matches[6] - coloredFilePath := formatPathAndFile(fullPath) - coloredLineNumber := lineNumStyle.Sprint(lineNumber) - coloredFunction := funcStyle.Sprint(funcName) - coloredCoverage := colorizeCoverage(coverageString) - return fmt.Sprintf("%s:%s:%s%s%s%s", - coloredFilePath, - coloredLineNumber, - spacingBeforeFunc, - coloredFunction, - spacingBeforeCoverage, - coloredCoverage, - ) - } - return colorizeCoverageInLine(line) -} - -// formatPathAndFile splits a file path into directory and file components and colors them. -func formatPathAndFile(fullPath string) string { - dir := filepath.Dir(fullPath) - file := filepath.Base(fullPath) - if dir == "." || dir == "" { - return fileStyle.Sprint(file) - } - return dirStyle.Sprintf("%s/", dir) + fileStyle.Sprint(file) -} - -// colorizeCoverageInLine replaces all coverage percentages in a line with their colored versions. -func colorizeCoverageInLine(line string) string { - return fallbackCoverageRegex.ReplaceAllStringFunc(line, func(match string) string { - return colorizeCoverage(match) - }) -} - -// colorizeCoverage returns a colored string for the given coverage percentage. -func colorizeCoverage(coverageStr string) string { - rawNumber := strings.TrimSuffix(coverageStr, "%") - coverageValue, parseErr := strconv.ParseFloat(rawNumber, 64) - if parseErr != nil { - return coverageStr - } - switch { - case coverageValue >= HighCoverageThreshold: - return colorHighCov.Sprint(coverageStr) - case coverageValue >= MediumCoverageThreshold: - return colorMidCov.Sprint(coverageStr) - default: - return colorLowCov.Sprint(coverageStr) - } -} +package main + +import ( + "bufio" + "fmt" + "io" + "os" + "path/filepath" + "regexp" + "strconv" + "strings" + + "github.com/fatih/color" +) + +// detailedCoverageRegex matches typical coverage detail lines from `go tool cover -func`. +// Example: +// +// github.com/.../file.go:31: funcName 100.0% +var detailedCoverageRegex = regexp.MustCompile(`^([^:]+\.go):(\d+):(\s+)(\S+)(\s+)([0-9]+\.[0-9]+%)$`) + +// fallbackCoverageRegex matches coverage percentages in fallback lines (e.g. "total: (statements) 70.0%"). +var fallbackCoverageRegex = regexp.MustCompile(`([0-9]+\.[0-9]+%)`) + +// Coverage thresholds. +const ( + HighCoverageThreshold = 80.0 + MediumCoverageThreshold = 50.0 +) + +// Color styles. +var ( + dirStyle = color.New(color.FgWhite).Add(color.Bold) + fileStyle = color.New(color.FgCyan).Add(color.Bold) + lineNumStyle = color.New(color.FgMagenta).Add(color.Bold) + funcStyle = color.New(color.FgHiBlue) + colorHighCov = color.New(color.FgGreen) + colorMidCov = color.New(color.FgYellow) + colorLowCov = color.New(color.FgRed) +) + +// inputReader is our source for input; it defaults to os.Stdin but can be overridden in tests. +var inputReader io.Reader = os.Stdin + +// exitFunc is used to exit in main(). It defaults to os.Exit but can be overridden in tests. +var exitFunc = os.Exit + +// run reads from the provided reader and writes styled output to stdout. +// It returns an error if a read error occurs. +func run(in io.Reader) error { + scanner := bufio.NewScanner(in) + for scanner.Scan() { + originalLine := scanner.Text() + styledLine := styleCoverageLine(originalLine) + fmt.Println(styledLine) + } + if err := scanner.Err(); err != nil { + fmt.Fprintf(os.Stderr, "Error reading stdin: %v\n", err) + return err + } + return nil +} + +// main calls run(inputReader) and uses exitFunc if an error occurs. +func main() { + if err := run(inputReader); err != nil { + exitFunc(1) + } +} + +// styleCoverageLine returns a styled version of the given line. +// If the line matches detailedCoverageRegex, it processes it accordingly; +// otherwise, it falls back to colorizeCoverageInLine. +func styleCoverageLine(line string) string { + if matches := detailedCoverageRegex.FindStringSubmatch(line); matches != nil { + fullPath := matches[1] + lineNumber := matches[2] + spacingBeforeFunc := matches[3] + funcName := matches[4] + spacingBeforeCoverage := matches[5] + coverageString := matches[6] + coloredFilePath := formatPathAndFile(fullPath) + coloredLineNumber := lineNumStyle.Sprint(lineNumber) + coloredFunction := funcStyle.Sprint(funcName) + coloredCoverage := colorizeCoverage(coverageString) + return fmt.Sprintf("%s:%s:%s%s%s%s", + coloredFilePath, + coloredLineNumber, + spacingBeforeFunc, + coloredFunction, + spacingBeforeCoverage, + coloredCoverage, + ) + } + return colorizeCoverageInLine(line) +} + +// formatPathAndFile splits a file path into directory and file components and colors them. +func formatPathAndFile(fullPath string) string { + dir := filepath.Dir(fullPath) + file := filepath.Base(fullPath) + if dir == "." || dir == "" { + return fileStyle.Sprint(file) + } + return dirStyle.Sprintf("%s/", dir) + fileStyle.Sprint(file) +} + +// colorizeCoverageInLine replaces all coverage percentages in a line with their colored versions. +func colorizeCoverageInLine(line string) string { + return fallbackCoverageRegex.ReplaceAllStringFunc(line, func(match string) string { + return colorizeCoverage(match) + }) +} + +// colorizeCoverage returns a colored string for the given coverage percentage. +func colorizeCoverage(coverageStr string) string { + rawNumber := strings.TrimSuffix(coverageStr, "%") + coverageValue, parseErr := strconv.ParseFloat(rawNumber, 64) + if parseErr != nil { + return coverageStr + } + switch { + case coverageValue >= HighCoverageThreshold: + return colorHighCov.Sprint(coverageStr) + case coverageValue >= MediumCoverageThreshold: + return colorMidCov.Sprint(coverageStr) + default: + return colorLowCov.Sprint(coverageStr) + } +} diff --git a/scripts/coverage_formatter_test.go b/scripts/coverage_formatter_test.go index 83b079d..3060a71 100644 --- a/scripts/coverage_formatter_test.go +++ b/scripts/coverage_formatter_test.go @@ -1,207 +1,207 @@ -package main - -import ( - "bufio" - "bytes" - "fmt" - "io" - "os" - "path/filepath" - "strings" - "testing" -) - -// captureOutput captures stdout during the execution of f. -func captureOutput(f func()) string { - oldStdout := os.Stdout - r, w, _ := os.Pipe() - os.Stdout = w - - f() - - w.Close() - os.Stdout = oldStdout - var buf bytes.Buffer - io.Copy(&buf, r) - return buf.String() -} - -// alwaysErrorReader is a reader that always returns an error. -type alwaysErrorReader struct{} - -func (r alwaysErrorReader) Read(p []byte) (int, error) { - return 0, fmt.Errorf("simulated read error") -} - -// TestColorizeCoverage tests the colorizeCoverage function. -func TestColorizeCoverage(t *testing.T) { - tests := []struct { - name string - input string - expected string - }{ - {"HighCoverage", "100.0%", colorHighCov.Sprint("100.0%")}, - {"MediumCoverage", "60.0%", colorMidCov.Sprint("60.0%")}, - {"LowCoverage", "40.0%", colorLowCov.Sprint("40.0%")}, - {"InvalidCoverage", "foo%", "foo%"}, - } - for _, tc := range tests { - tc := tc - t.Run(tc.name, func(t *testing.T) { - got := colorizeCoverage(tc.input) - if got != tc.expected { - t.Errorf("colorizeCoverage(%q) = %q; expected %q", tc.input, got, tc.expected) - } - }) - } -} - -// TestColorizeCoverageInLine tests colorizeCoverageInLine. -func TestColorizeCoverageInLine(t *testing.T) { - input := "total: (statements) 70.0%" - expected := fallbackCoverageRegex.ReplaceAllStringFunc(input, func(match string) string { - return colorizeCoverage(match) - }) - got := colorizeCoverageInLine(input) - if got != expected { - t.Errorf("colorizeCoverageInLine(%q) = %q; expected %q", input, got, expected) - } -} - -// TestFormatPathAndFile tests formatPathAndFile. -func TestFormatPathAndFile(t *testing.T) { - tests := []struct { - name string - input string - expected string - }{ - {"WithDir", "github.com/foo/bar/file.go", - dirStyle.Sprintf("%s/", filepath.Dir("github.com/foo/bar/file.go")) + - fileStyle.Sprint(filepath.Base("github.com/foo/bar/file.go"))}, - {"NoDir", "file.go", fileStyle.Sprint("file.go")}, - } - for _, tc := range tests { - tc := tc - t.Run(tc.name, func(t *testing.T) { - got := formatPathAndFile(tc.input) - if got != tc.expected { - t.Errorf("formatPathAndFile(%q) = %q; expected %q", tc.input, got, tc.expected) - } - }) - } -} - -// TestStyleCoverageLineDetailed tests styleCoverageLine with a detailed line. -func TestStyleCoverageLineDetailed(t *testing.T) { - fullPath := "github.com/foo/bar/file.go" - lineNumber := "31" - spacingBeforeFunc := " " - funcName := "init" - spacingBeforeCoverage := " " - coverageStr := "100.0%" - input := fullPath + ":" + lineNumber + ":" + spacingBeforeFunc + funcName + spacingBeforeCoverage + coverageStr - expected := formatPathAndFile(fullPath) + ":" + - lineNumStyle.Sprint(lineNumber) + ":" + - spacingBeforeFunc + - funcStyle.Sprint(funcName) + - spacingBeforeCoverage + - colorizeCoverage(coverageStr) - got := styleCoverageLine(input) - if got != expected { - t.Errorf("styleCoverageLine(detailed) = %q; expected %q", got, expected) - } -} - -// TestStyleCoverageLineFallback tests styleCoverageLine with fallback input. -func TestStyleCoverageLineFallback(t *testing.T) { - input := "total: (statements) 70.0%" - expected := colorizeCoverageInLine(input) - got := styleCoverageLine(input) - if got != expected { - t.Errorf("styleCoverageLine(fallback) = %q; expected %q", got, expected) - } -} - -// TestRunError tests run() with an error using alwaysErrorReader. -func TestRunError(t *testing.T) { - err := run(alwaysErrorReader{}) - if err == nil { - t.Error("Expected run() to return error, got nil") - } -} - -// Save original values to restore after tests. -var ( - originalInputReader = inputReader - originalExitFunc = exitFunc -) - -// TestMainNoError tests main() when run() succeeds. -func TestMainNoError(t *testing.T) { - exitCalled := false - exitCode := 0 - exitFunc = func(code int) { - exitCalled = true - exitCode = code - } - defer func() { exitFunc = originalExitFunc }() - - inputReader = strings.NewReader("total: (statements) 70.0%\n") - defer func() { inputReader = originalInputReader }() - - main() - if exitCalled { - t.Errorf("Expected main() not to call exitFunc, but it was called with code %d", exitCode) - } -} - -// TestMainWithError tests main() when run() returns an error. -func TestMainWithError(t *testing.T) { - exitCalled := false - exitCode := 0 - exitFunc = func(code int) { - exitCalled = true - exitCode = code - } - defer func() { exitFunc = originalExitFunc }() - - inputReader = alwaysErrorReader{} - defer func() { inputReader = originalInputReader }() - - main() - if !exitCalled { - t.Error("Expected main() to call exitFunc due to error, but it was not called") - } - if exitCode != 1 { - t.Errorf("Expected exit code 1, got %d", exitCode) - } -} - -// TestMainIntegration tests main() by overriding inputReader and capturing output. -func TestMainIntegration(t *testing.T) { - inputLines := []string{ - "github.com/foo/bar/file.go:31: init 100.0%", - "total: (statements) 70.0%", - } - input := strings.Join(inputLines, "\n") - inputReader = strings.NewReader(input) - defer func() { inputReader = originalInputReader }() - - output := captureOutput(func() { main() }) - scanner := bufio.NewScanner(strings.NewReader(output)) - var outputLines []string - for scanner.Scan() { - outputLines = append(outputLines, scanner.Text()) - } - if len(outputLines) != len(inputLines) { - t.Fatalf("Expected %d output lines, got %d", len(inputLines), len(outputLines)) - } - detailedExpected := styleCoverageLine(inputLines[0]) - if outputLines[0] != detailedExpected { - t.Errorf("Main integration detailed line = %q; expected %q", outputLines[0], detailedExpected) - } - fallbackExpected := styleCoverageLine(inputLines[1]) - if outputLines[1] != fallbackExpected { - t.Errorf("Main integration fallback line = %q; expected %q", outputLines[1], fallbackExpected) - } -} +package main + +import ( + "bufio" + "bytes" + "fmt" + "io" + "os" + "path/filepath" + "strings" + "testing" +) + +// captureOutput captures stdout during the execution of f. +func captureOutput(f func()) string { + oldStdout := os.Stdout + r, w, _ := os.Pipe() + os.Stdout = w + + f() + + w.Close() + os.Stdout = oldStdout + var buf bytes.Buffer + io.Copy(&buf, r) + return buf.String() +} + +// alwaysErrorReader is a reader that always returns an error. +type alwaysErrorReader struct{} + +func (r alwaysErrorReader) Read(p []byte) (int, error) { + return 0, fmt.Errorf("simulated read error") +} + +// TestColorizeCoverage tests the colorizeCoverage function. +func TestColorizeCoverage(t *testing.T) { + tests := []struct { + name string + input string + expected string + }{ + {"HighCoverage", "100.0%", colorHighCov.Sprint("100.0%")}, + {"MediumCoverage", "60.0%", colorMidCov.Sprint("60.0%")}, + {"LowCoverage", "40.0%", colorLowCov.Sprint("40.0%")}, + {"InvalidCoverage", "foo%", "foo%"}, + } + for _, tc := range tests { + tc := tc + t.Run(tc.name, func(t *testing.T) { + got := colorizeCoverage(tc.input) + if got != tc.expected { + t.Errorf("colorizeCoverage(%q) = %q; expected %q", tc.input, got, tc.expected) + } + }) + } +} + +// TestColorizeCoverageInLine tests colorizeCoverageInLine. +func TestColorizeCoverageInLine(t *testing.T) { + input := "total: (statements) 70.0%" + expected := fallbackCoverageRegex.ReplaceAllStringFunc(input, func(match string) string { + return colorizeCoverage(match) + }) + got := colorizeCoverageInLine(input) + if got != expected { + t.Errorf("colorizeCoverageInLine(%q) = %q; expected %q", input, got, expected) + } +} + +// TestFormatPathAndFile tests formatPathAndFile. +func TestFormatPathAndFile(t *testing.T) { + tests := []struct { + name string + input string + expected string + }{ + {"WithDir", "github.com/foo/bar/file.go", + dirStyle.Sprintf("%s/", filepath.Dir("github.com/foo/bar/file.go")) + + fileStyle.Sprint(filepath.Base("github.com/foo/bar/file.go"))}, + {"NoDir", "file.go", fileStyle.Sprint("file.go")}, + } + for _, tc := range tests { + tc := tc + t.Run(tc.name, func(t *testing.T) { + got := formatPathAndFile(tc.input) + if got != tc.expected { + t.Errorf("formatPathAndFile(%q) = %q; expected %q", tc.input, got, tc.expected) + } + }) + } +} + +// TestStyleCoverageLineDetailed tests styleCoverageLine with a detailed line. +func TestStyleCoverageLineDetailed(t *testing.T) { + fullPath := "github.com/foo/bar/file.go" + lineNumber := "31" + spacingBeforeFunc := " " + funcName := "init" + spacingBeforeCoverage := " " + coverageStr := "100.0%" + input := fullPath + ":" + lineNumber + ":" + spacingBeforeFunc + funcName + spacingBeforeCoverage + coverageStr + expected := formatPathAndFile(fullPath) + ":" + + lineNumStyle.Sprint(lineNumber) + ":" + + spacingBeforeFunc + + funcStyle.Sprint(funcName) + + spacingBeforeCoverage + + colorizeCoverage(coverageStr) + got := styleCoverageLine(input) + if got != expected { + t.Errorf("styleCoverageLine(detailed) = %q; expected %q", got, expected) + } +} + +// TestStyleCoverageLineFallback tests styleCoverageLine with fallback input. +func TestStyleCoverageLineFallback(t *testing.T) { + input := "total: (statements) 70.0%" + expected := colorizeCoverageInLine(input) + got := styleCoverageLine(input) + if got != expected { + t.Errorf("styleCoverageLine(fallback) = %q; expected %q", got, expected) + } +} + +// TestRunError tests run() with an error using alwaysErrorReader. +func TestRunError(t *testing.T) { + err := run(alwaysErrorReader{}) + if err == nil { + t.Error("Expected run() to return error, got nil") + } +} + +// Save original values to restore after tests. +var ( + originalInputReader = inputReader + originalExitFunc = exitFunc +) + +// TestMainNoError tests main() when run() succeeds. +func TestMainNoError(t *testing.T) { + exitCalled := false + exitCode := 0 + exitFunc = func(code int) { + exitCalled = true + exitCode = code + } + defer func() { exitFunc = originalExitFunc }() + + inputReader = strings.NewReader("total: (statements) 70.0%\n") + defer func() { inputReader = originalInputReader }() + + main() + if exitCalled { + t.Errorf("Expected main() not to call exitFunc, but it was called with code %d", exitCode) + } +} + +// TestMainWithError tests main() when run() returns an error. +func TestMainWithError(t *testing.T) { + exitCalled := false + exitCode := 0 + exitFunc = func(code int) { + exitCalled = true + exitCode = code + } + defer func() { exitFunc = originalExitFunc }() + + inputReader = alwaysErrorReader{} + defer func() { inputReader = originalInputReader }() + + main() + if !exitCalled { + t.Error("Expected main() to call exitFunc due to error, but it was not called") + } + if exitCode != 1 { + t.Errorf("Expected exit code 1, got %d", exitCode) + } +} + +// TestMainIntegration tests main() by overriding inputReader and capturing output. +func TestMainIntegration(t *testing.T) { + inputLines := []string{ + "github.com/foo/bar/file.go:31: init 100.0%", + "total: (statements) 70.0%", + } + input := strings.Join(inputLines, "\n") + inputReader = strings.NewReader(input) + defer func() { inputReader = originalInputReader }() + + output := captureOutput(func() { main() }) + scanner := bufio.NewScanner(strings.NewReader(output)) + var outputLines []string + for scanner.Scan() { + outputLines = append(outputLines, scanner.Text()) + } + if len(outputLines) != len(inputLines) { + t.Fatalf("Expected %d output lines, got %d", len(inputLines), len(outputLines)) + } + detailedExpected := styleCoverageLine(inputLines[0]) + if outputLines[0] != detailedExpected { + t.Errorf("Main integration detailed line = %q; expected %q", outputLines[0], detailedExpected) + } + fallbackExpected := styleCoverageLine(inputLines[1]) + if outputLines[1] != fallbackExpected { + t.Errorf("Main integration fallback line = %q; expected %q", outputLines[1], fallbackExpected) + } +} From 8048f37b6c17bf08885a93ed534412953890671a Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 15:03:19 -0600 Subject: [PATCH 43/47] Load covered --- Makefile | 2 +- go.mod | 5 +- go.sum | 2 + pkg/config/config_test.go | 376 +++++++++++++++++++++++++++++--------- 4 files changed, 301 insertions(+), 84 deletions(-) diff --git a/Makefile b/Makefile index f1a5350..a4c5f8b 100644 --- a/Makefile +++ b/Makefile @@ -57,7 +57,7 @@ install: # Ensures gotestsum is installed before running tests. # Depends on install. # ------------------------------------------------------------------------------ -test: install +test: @if ! command -v gotestsum >/dev/null 2>&1; then \ echo "Installing gotestsum..."; \ go install gotest.tools/gotestsum@latest; \ diff --git a/go.mod b/go.mod index d0924e3..100f748 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,10 @@ module github.com/heinrichb/scrapey-cli go 1.23.4 -require github.com/fatih/color v1.18.0 +require ( + bou.ke/monkey v1.0.2 + github.com/fatih/color v1.18.0 +) require ( github.com/mattn/go-colorable v0.1.13 // indirect diff --git a/go.sum b/go.sum index 33148a4..a1b828d 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +bou.ke/monkey v1.0.2 h1:kWcnsrCNUatbxncxR/ThdYqbytgOIArtYWqcQLQzKLI= +bou.ke/monkey v1.0.2/go.mod h1:OqickVX3tNx6t33n1xvtTtu85YN5s6cKwVug+oHMaIA= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 1e8627e..ac35ed0 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -1,120 +1,261 @@ +// File: pkg/config/config_test.go + package config import ( - "io" + "fmt" "os" "reflect" "strings" "testing" -) -func captureOutput(f func()) string { - oldStdout := os.Stdout - r, w, _ := os.Pipe() - os.Stdout = w + "bou.ke/monkey" + "github.com/heinrichb/scrapey-cli/pkg/utils" +) - f() +// TestLoad tests the Load function in a single function with multiple cases. +// We cover scenarios like missing file, unreadable file, invalid JSON, +// and valid JSON with verbose mode on/off. +func TestLoad(t *testing.T) { + // Patch utils.PrintColored and utils.PrintNonEmptyFields. + var capturedColored string + patchColored := monkey.Patch(utils.PrintColored, func(a ...interface{}) { + capturedColored += fmt.Sprint(a...) + }) + defer patchColored.Unpatch() - w.Close() - var buf strings.Builder - io.Copy(&buf, r) - os.Stdout = oldStdout - return buf.String() -} + var capturedNonEmpty string + patchNonEmpty := monkey.Patch(utils.PrintNonEmptyFields, func(prefix string, cfg interface{}) { + capturedNonEmpty += "nonEmptyFieldsCalled" + }) + defer patchNonEmpty.Unpatch() -func TestLoadConfig(t *testing.T) { + // Define table test cases for Load. cases := []struct { desc string - filename string - expectedErr bool - setup func(string) + fileSetup func(fileName string) // Setup the file (write contents, change permissions) + verbose bool // Set global Verbose before calling Load. + expectErr bool // Expect Load() to return an error. + checkOutput func(t *testing.T, colored, nonEmpty string) }{ { - "Missing config file", - "nonexistent.json", - true, - nil, + desc: "Missing config file", + fileSetup: nil, // Do not create the file so that it is missing. + verbose: false, + expectErr: true, + checkOutput: func(t *testing.T, colored, nonEmpty string) { + // For a missing file, no printing should occur. + if colored != "" { + t.Errorf("Expected no colored output for missing file, got: %s", colored) + } + }, + }, + { + desc: "Unreadable config file", + fileSetup: func(name string) { + // Create a file with valid JSON. + if err := os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"}}`), 0644); err != nil { + t.Fatalf("Failed to write file: %v", err) + } + // We'll patch os.ReadFile below to simulate a read error. + }, + verbose: false, + expectErr: true, + checkOutput: func(t *testing.T, colored, nonEmpty string) { + // Expect that PrintColored is called. + if !strings.Contains(colored, "Loaded config from: ") { + t.Errorf("Expected colored output, got: %s", colored) + } + }, }, { - "Unreadable config file", - "unreadable_config.json", - true, - func(name string) { os.Chmod(name, 0000); defer os.Chmod(name, 0644) }, + desc: "Invalid JSON format", + fileSetup: func(name string) { + // Write invalid JSON. + if err := os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"`), 0644); err != nil { + t.Fatalf("Failed to write file: %v", err) + } + }, + verbose: false, + expectErr: true, + checkOutput: func(t *testing.T, colored, nonEmpty string) { + // Even with invalid JSON, colored output should be produced. + if !strings.Contains(colored, "Loaded config from: ") { + t.Errorf("Expected colored output, got: %s", colored) + } + }, }, { - "Invalid JSON format", - "invalid_config.json", - true, - func(name string) { os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"`), 0644) }, + desc: "Valid JSON without verbose mode", + fileSetup: func(name string) { + // Write valid minimal JSON. + if err := os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"}}`), 0644); err != nil { + t.Fatalf("Failed to write file: %v", err) + } + }, + verbose: false, + expectErr: false, + checkOutput: func(t *testing.T, colored, nonEmpty string) { + // When verbose is false, only colored output is expected. + if !strings.Contains(colored, "Loaded config from: ") { + t.Errorf("Expected colored output, got: %s", colored) + } + if nonEmpty != "" { + t.Errorf("Expected no non-empty output when verbose is false, got: %s", nonEmpty) + } + }, }, { - "Valid JSON with verbose mode", - "valid_config.json", - false, - func(name string) { os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"}}`), 0644) }, + desc: "Valid JSON with verbose mode", + fileSetup: func(name string) { + // Write valid minimal JSON. + if err := os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"}}`), 0644); err != nil { + t.Fatalf("Failed to write file: %v", err) + } + }, + verbose: true, + expectErr: false, + checkOutput: func(t *testing.T, colored, nonEmpty string) { + // With verbose mode on, both colored and non-empty outputs should be present. + if !strings.Contains(colored, "Loaded config from: ") { + t.Errorf("Expected colored output, got: %s", colored) + } + if nonEmpty != "nonEmptyFieldsCalled" { + t.Errorf("Expected non-empty output when verbose is true, got: %s", nonEmpty) + } + }, }, } - for _, c := range cases { - t.Run(c.desc, func(t *testing.T) { - if c.setup != nil { - tmpFile, _ := os.CreateTemp("", c.filename) - defer os.Remove(tmpFile.Name()) - c.setup(tmpFile.Name()) - c.filename = tmpFile.Name() + // Run test cases. + for _, tc := range cases { + t.Run(tc.desc, func(t *testing.T) { + // Reset captured outputs. + capturedColored = "" + // Reset capturedNonEmpty inside the patch by re-patching. + patchNonEmpty.Unpatch() + patchNonEmpty = monkey.Patch(utils.PrintNonEmptyFields, func(prefix string, cfg interface{}) { + capturedNonEmpty += "nonEmptyFieldsCalled" + }) + defer patchNonEmpty.Unpatch() + + // Set the global Verbose flag as needed. + Verbose = tc.verbose + + // Prepare file. If no setup, use a name that does not exist. + var fileName string + if tc.fileSetup != nil { + tmpFile, err := os.CreateTemp("", "config_*.json") + if err != nil { + t.Fatalf("Failed to create temp file: %v", err) + } + fileName = tmpFile.Name() + tmpFile.Close() // Close so that file can be manipulated. + tc.fileSetup(fileName) + // For cleanup and permission safety. + os.Chmod(fileName, 0644) + defer os.Remove(fileName) + } else { + fileName = "nonexistent_config.json" + } + + // For the unreadable file test, patch os.ReadFile to simulate a read error. + if tc.desc == "Unreadable config file" { + patchReadFile := monkey.Patch(os.ReadFile, func(name string) ([]byte, error) { + return nil, fmt.Errorf("simulated read error") + }) + defer patchReadFile.Unpatch() + } + + cfg, err := Load(fileName) + if tc.expectErr { + if err == nil { + t.Errorf("Expected error but got nil") + } + // Skip further checks if error was expected. + return + } else { + if err != nil { + t.Errorf("Unexpected error: %v", err) + return + } } - _, err := Load(c.filename) - if (err != nil) != c.expectedErr { - t.Fatalf("Unexpected error state: %v", err) + // Ensure ApplyDefaults populated required fields (e.g. URL.Base). + if cfg.URL.Base == "" { + t.Errorf("Expected URL.Base to be set, got empty") } + // Validate captured output. + tc.checkOutput(t, capturedColored, capturedNonEmpty) }) } } +// TestOverrideWithCLI tests the OverrideWithCLI function in a single function with multiple cases. +// We patch utils.PrintColored to capture its output in a global variable. +// In addition to our previous override cases, we add tests for empty-slice overrides +// and for when no override is applied. func TestOverrideWithCLI(t *testing.T) { - cfg := &Config{} - cfg.ApplyDefaults() + // Patch utils.PrintColored. + var captured string + patchColored := monkey.Patch(utils.PrintColored, func(a ...interface{}) { + captured += fmt.Sprint(a...) + }) + defer patchColored.Unpatch() + // Define table test cases for OverrideWithCLI. cases := []struct { desc string override Config - expectFunc func(*Config) bool - expectOutput string + preSetup func(*Config) // Optionally modify the initial config. + expectFunc func(*Config) bool // Checks that the override was applied. + expectOutput string // Expected substring in the printed output. }{ { - "Override URL.Base", - Config{URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{Base: "https://override.com"}}, - func(c *Config) bool { return c.URL.Base == "https://override.com" }, - "Overriding URL.Base: ", + desc: "Override URL.Base", + override: Config{ + URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{Base: "https://override.com"}, + }, + expectFunc: func(c *Config) bool { return c.URL.Base == "https://override.com" }, + expectOutput: "Overriding URL.Base: ", }, { - "Override non-empty slice", - Config{Storage: struct { - OutputFormats []string `json:"outputFormats"` - SavePath string `json:"savePath"` - FileName string `json:"fileName"` - }{OutputFormats: []string{"csv"}}}, - func(c *Config) bool { return reflect.DeepEqual(c.Storage.OutputFormats, []string{"csv"}) }, - "Overriding Storage.OutputFormats: ", + desc: "Override non-empty slice", + override: Config{ + Storage: struct { + OutputFormats []string `json:"outputFormats"` + SavePath string `json:"savePath"` + FileName string `json:"fileName"` + }{OutputFormats: []string{"csv"}}, + }, + preSetup: func(c *Config) { + // Pre-populate with a different slice. + c.Storage.OutputFormats = []string{"json"} + }, + expectFunc: func(c *Config) bool { + return reflect.DeepEqual(c.Storage.OutputFormats, []string{"csv"}) + }, + expectOutput: "Overriding Storage.OutputFormats: ", }, { - "Override boolean", - Config{URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{IncludeBase: true}}, - func(c *Config) bool { return c.URL.IncludeBase }, - "Overriding URL.IncludeBase: ", + desc: "Override boolean", + override: Config{ + URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{IncludeBase: true}, + }, + expectFunc: func(c *Config) bool { return c.URL.IncludeBase }, + expectOutput: "Overriding URL.IncludeBase: ", }, { - "Override multiple values", - Config{ + desc: "Override multiple values", + override: Config{ URL: struct { Base string `json:"base"` Routes []string `json:"routes"` @@ -131,19 +272,90 @@ func TestOverrideWithCLI(t *testing.T) { UserAgent string `json:"userAgent"` }{MaxDepth: 5}, }, - func(c *Config) bool { return c.URL.Base == "https://multiple.com" && c.ScrapingOptions.MaxDepth == 5 }, - "Overriding URL.Base: ", + expectFunc: func(c *Config) bool { + return c.URL.Base == "https://multiple.com" && c.ScrapingOptions.MaxDepth == 5 + }, + expectOutput: "Overriding URL.Base: ", + }, + { + desc: "Empty slice override does not trigger override", + override: Config{ + Storage: struct { + OutputFormats []string `json:"outputFormats"` + SavePath string `json:"savePath"` + FileName string `json:"fileName"` + }{OutputFormats: []string{}}, // Empty slice; should be skipped. + }, + preSetup: func(c *Config) { + // Set a non-empty default to confirm it is not overridden. + c.Storage.OutputFormats = []string{"json"} + }, + expectFunc: func(c *Config) bool { + // Expect no change. + return reflect.DeepEqual(c.Storage.OutputFormats, []string{"json"}) + }, + expectOutput: "", // No override message expected. + }, + { + desc: "No override applied when all fields are zero", + override: Config{ + URL: struct { + Base string `json:"base"` + Routes []string `json:"routes"` + IncludeBase bool `json:"includeBase"` + }{}, // all zero values + Storage: struct { + OutputFormats []string `json:"outputFormats"` + SavePath string `json:"savePath"` + FileName string `json:"fileName"` + }{}, + ParseRules: struct { + Title string `json:"title,omitempty"` + MetaDescription string `json:"metaDescription,omitempty"` + ArticleContent string `json:"articleContent,omitempty"` + Author string `json:"author,omitempty"` + DatePublished string `json:"datePublished,omitempty"` + }{}, + ScrapingOptions: struct { + MaxDepth int `json:"maxDepth"` + RateLimit float64 `json:"rateLimit"` + RetryAttempts int `json:"retryAttempts"` + UserAgent string `json:"userAgent"` + }{}, + DataFormatting: struct { + CleanWhitespace bool `json:"cleanWhitespace"` + RemoveHTML bool `json:"removeHTML"` + }{}, + }, + expectFunc: func(c *Config) bool { + // Expect no changes: the defaults remain. + return c.URL.Base != "" && len(c.Storage.OutputFormats) > 0 + }, + expectOutput: "", // No output expected. }, } - for _, c := range cases { - t.Run(c.desc, func(t *testing.T) { - output := captureOutput(func() { cfg.OverrideWithCLI(c.override) }) - if !c.expectFunc(cfg) { - t.Errorf("Expected override not applied") + // Run test cases. + for _, tc := range cases { + t.Run(tc.desc, func(t *testing.T) { + captured = "" // Reset captured output. + // Create a fresh config with defaults applied. + testCfg := &Config{} + testCfg.ApplyDefaults() + // If any pre-setup is needed, run it. + if tc.preSetup != nil { + tc.preSetup(testCfg) + } + + // Directly call OverrideWithCLI. + testCfg.OverrideWithCLI(tc.override) + // Verify that the override was applied (or not applied) as expected. + if !tc.expectFunc(testCfg) { + t.Errorf("Expected override condition not met. Got %+v", testCfg) } - if !strings.Contains(output, c.expectOutput) { - t.Errorf("Expected output to contain '%s', got '%s'", c.expectOutput, output) + // Verify that the patched PrintColored was called with the expected substring. + if !strings.Contains(captured, tc.expectOutput) { + t.Errorf("Expected output to contain '%s', got '%s'", tc.expectOutput, captured) } }) } From c1c368f88eb288ea063761da648abee4526ecb8b Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 16:19:54 -0600 Subject: [PATCH 44/47] Refactoring override config --- cmd/scrapeycli/main.go | 2 +- configs/default.json | 1 + pkg/config/config.go | 26 ++--- pkg/config/config_test.go | 218 +++++++++++++++++++++++++++++--------- 4 files changed, 183 insertions(+), 64 deletions(-) diff --git a/cmd/scrapeycli/main.go b/cmd/scrapeycli/main.go index 3cd3f9e..e84bbb6 100644 --- a/cmd/scrapeycli/main.go +++ b/cmd/scrapeycli/main.go @@ -94,7 +94,7 @@ func main() { } // Apply all CLI overrides dynamically. - cfg.OverrideWithCLI(cliOverrides) + cfg.OverrideConfig(cliOverrides) // Print confirmation of loaded config. utils.PrintColored("Scrapey CLI initialization complete.", "", color.FgGreen) diff --git a/configs/default.json b/configs/default.json index 7b23a3d..f1298dc 100644 --- a/configs/default.json +++ b/configs/default.json @@ -1,4 +1,5 @@ { + "version": "1.0", "url": { "base": "https://example.com", "routes": ["/route1", "/route2", "*"], diff --git a/pkg/config/config.go b/pkg/config/config.go index c093d7a..ec32b61 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -35,7 +35,8 @@ Usage: The configuration is loaded from a JSON file to guide the crawler and parser. */ type Config struct { - URL struct { + Version string `json:"version"` + URL struct { Base string `json:"base"` Routes []string `json:"routes"` IncludeBase bool `json:"includeBase"` @@ -183,7 +184,7 @@ Notes: - Uses **reflection** to dynamically override values while maintaining type safety. - Since every top‑level field in Config is a struct, only that branch is executed. */ -func (cfg *Config) OverrideWithCLI(overrides Config) { +func (cfg *Config) OverrideConfig(overrides Config) { cfgValue := reflect.ValueOf(cfg).Elem() overridesValue := reflect.ValueOf(overrides) @@ -196,7 +197,7 @@ func (cfg *Config) OverrideWithCLI(overrides Config) { continue } - // Since all fields in Config are structs, we only need to handle that branch. + // If the override field is a struct, iterate over its subfields and apply every value (even if zero or empty). if overrideField.Kind() == reflect.Struct { for j := 0; j < overrideField.NumField(); j++ { subField := overrideField.Type().Field(j) @@ -207,17 +208,16 @@ func (cfg *Config) OverrideWithCLI(overrides Config) { continue } - // Skip empty slices. - if overrideSubField.Kind() == reflect.Slice && overrideSubField.Len() == 0 { - continue - } - - if !overrideSubField.IsZero() { - utils.PrintColored(fmt.Sprintf("Overriding %s.%s: ", field.Name, subField.Name), - fmt.Sprint(overrideSubField.Interface()), color.FgHiMagenta) - configSubField.Set(overrideSubField) - } + // Always override the subfield value, regardless of its value. + utils.PrintColored(fmt.Sprintf("Overriding %s.%s: ", field.Name, subField.Name), + fmt.Sprint(overrideSubField.Interface()), color.FgHiMagenta) + configSubField.Set(overrideSubField) } + } else { + // For non-struct fields, override unconditionally. + utils.PrintColored(fmt.Sprintf("Overriding %s: ", field.Name), + fmt.Sprint(overrideField.Interface()), color.FgHiMagenta) + configField.Set(overrideField) } } } diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index ac35ed0..1be7404 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -13,6 +13,145 @@ import ( "github.com/heinrichb/scrapey-cli/pkg/utils" ) +// TestApplyDefaults tests the ApplyDefaults function to ensure that missing fields are set to default values. +// This test function uses multiple cases to verify that defaults are correctly applied. +func TestApplyDefaults(t *testing.T) { + cases := []struct { + desc string + setup func(cfg *Config) // Optionally pre-set some fields. + validate func(t *testing.T, cfg *Config) + }{ + { + desc: "All fields missing should be set to defaults", + setup: func(cfg *Config) { + // Leave all fields at their zero values. + }, + validate: func(t *testing.T, cfg *Config) { + // Check URL defaults. + if cfg.URL.Base != "https://example.com" { + t.Errorf("Expected URL.Base to be 'https://example.com', got '%s'", cfg.URL.Base) + } + if len(cfg.URL.Routes) != 1 || cfg.URL.Routes[0] != "/" { + t.Errorf("Expected URL.Routes to be ['/'], got %v", cfg.URL.Routes) + } + // Check ScrapingOptions defaults. + if cfg.ScrapingOptions.MaxDepth != 2 { + t.Errorf("Expected ScrapingOptions.MaxDepth to be 2, got %d", cfg.ScrapingOptions.MaxDepth) + } + if cfg.ScrapingOptions.RateLimit != 1.5 { + t.Errorf("Expected ScrapingOptions.RateLimit to be 1.5, got %f", cfg.ScrapingOptions.RateLimit) + } + if cfg.ScrapingOptions.RetryAttempts != 3 { + t.Errorf("Expected ScrapingOptions.RetryAttempts to be 3, got %d", cfg.ScrapingOptions.RetryAttempts) + } + expectedUA := "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" + if cfg.ScrapingOptions.UserAgent != expectedUA { + t.Errorf("Expected ScrapingOptions.UserAgent to be '%s', got '%s'", expectedUA, cfg.ScrapingOptions.UserAgent) + } + // Check Storage defaults. + if len(cfg.Storage.OutputFormats) != 1 || cfg.Storage.OutputFormats[0] != "json" { + t.Errorf("Expected Storage.OutputFormats to be ['json'], got %v", cfg.Storage.OutputFormats) + } + if cfg.Storage.SavePath != "output/" { + t.Errorf("Expected Storage.SavePath to be 'output/', got '%s'", cfg.Storage.SavePath) + } + if cfg.Storage.FileName != "scraped_data" { + t.Errorf("Expected Storage.FileName to be 'scraped_data', got '%s'", cfg.Storage.FileName) + } + }, + }, + { + desc: "Pre-set fields remain unchanged and missing fields get defaults", + setup: func(cfg *Config) { + // Pre-set some fields. + cfg.URL.Base = "https://preset.com" + cfg.Storage.SavePath = "custom_output/" + }, + validate: func(t *testing.T, cfg *Config) { + // Pre-set values should be retained. + if cfg.URL.Base != "https://preset.com" { + t.Errorf("Expected URL.Base to be 'https://preset.com', got '%s'", cfg.URL.Base) + } + if cfg.Storage.SavePath != "custom_output/" { + t.Errorf("Expected Storage.SavePath to be 'custom_output/', got '%s'", cfg.Storage.SavePath) + } + // Other fields should be set to defaults. + if len(cfg.URL.Routes) != 1 || cfg.URL.Routes[0] != "/" { + t.Errorf("Expected URL.Routes to be ['/'], got %v", cfg.URL.Routes) + } + if cfg.ScrapingOptions.MaxDepth != 2 { + t.Errorf("Expected ScrapingOptions.MaxDepth to be 2, got %d", cfg.ScrapingOptions.MaxDepth) + } + if len(cfg.Storage.OutputFormats) != 1 || cfg.Storage.OutputFormats[0] != "json" { + t.Errorf("Expected Storage.OutputFormats to be ['json'], got %v", cfg.Storage.OutputFormats) + } + if cfg.Storage.FileName != "scraped_data" { + t.Errorf("Expected Storage.FileName to be 'scraped_data', got '%s'", cfg.Storage.FileName) + } + }, + }, + { + desc: "No change if all fields are pre-set", + setup: func(cfg *Config) { + // Set all fields explicitly. + cfg.URL.Base = "https://preset.com" + cfg.URL.Routes = []string{"/preset"} + cfg.ScrapingOptions.MaxDepth = 10 + cfg.ScrapingOptions.RateLimit = 3.0 + cfg.ScrapingOptions.RetryAttempts = 5 + cfg.ScrapingOptions.UserAgent = "CustomAgent" + cfg.Storage.OutputFormats = []string{"xml"} + cfg.Storage.SavePath = "preset_output/" + cfg.Storage.FileName = "preset_data" + }, + validate: func(t *testing.T, cfg *Config) { + // Expect all pre-set fields to remain unchanged. + if cfg.URL.Base != "https://preset.com" { + t.Errorf("Expected URL.Base to be 'https://preset.com', got '%s'", cfg.URL.Base) + } + if !reflect.DeepEqual(cfg.URL.Routes, []string{"/preset"}) { + t.Errorf("Expected URL.Routes to be ['/preset'], got %v", cfg.URL.Routes) + } + if cfg.ScrapingOptions.MaxDepth != 10 { + t.Errorf("Expected ScrapingOptions.MaxDepth to be 10, got %d", cfg.ScrapingOptions.MaxDepth) + } + if cfg.ScrapingOptions.RateLimit != 3.0 { + t.Errorf("Expected ScrapingOptions.RateLimit to be 3.0, got %f", cfg.ScrapingOptions.RateLimit) + } + if cfg.ScrapingOptions.RetryAttempts != 5 { + t.Errorf("Expected ScrapingOptions.RetryAttempts to be 5, got %d", cfg.ScrapingOptions.RetryAttempts) + } + if cfg.ScrapingOptions.UserAgent != "CustomAgent" { + t.Errorf("Expected ScrapingOptions.UserAgent to be 'CustomAgent', got '%s'", cfg.ScrapingOptions.UserAgent) + } + if !reflect.DeepEqual(cfg.Storage.OutputFormats, []string{"xml"}) { + t.Errorf("Expected Storage.OutputFormats to be ['xml'], got %v", cfg.Storage.OutputFormats) + } + if cfg.Storage.SavePath != "preset_output/" { + t.Errorf("Expected Storage.SavePath to be 'preset_output/', got '%s'", cfg.Storage.SavePath) + } + if cfg.Storage.FileName != "preset_data" { + t.Errorf("Expected Storage.FileName to be 'preset_data', got '%s'", cfg.Storage.FileName) + } + }, + }, + } + + for _, tc := range cases { + t.Run(tc.desc, func(t *testing.T) { + cfg := &Config{} + // Allow test-specific pre-setup. + if tc.setup != nil { + tc.setup(cfg) + } + // Call ApplyDefaults. + cfg.ApplyDefaults() + // Validate that defaults have been applied as expected. + tc.validate(t, cfg) + }) + } +} + // TestLoad tests the Load function in a single function with multiple cases. // We cover scenarios like missing file, unreadable file, invalid JSON, // and valid JSON with verbose mode on/off. @@ -191,19 +330,19 @@ func TestLoad(t *testing.T) { } } -// TestOverrideWithCLI tests the OverrideWithCLI function in a single function with multiple cases. +// TestOverrideConfig tests the OverrideConfig function in a single function with multiple cases. // We patch utils.PrintColored to capture its output in a global variable. -// In addition to our previous override cases, we add tests for empty-slice overrides -// and for when no override is applied. -func TestOverrideWithCLI(t *testing.T) { - // Patch utils.PrintColored. +// In addition to our previous override cases, we add tests for empty-slice overrides, +// for when no override is applied, and for non-struct fields (like the new Version field). +func TestOverrideConfig(t *testing.T) { + // Patch utils.PrintColored to capture printed messages. var captured string patchColored := monkey.Patch(utils.PrintColored, func(a ...interface{}) { captured += fmt.Sprint(a...) }) defer patchColored.Unpatch() - // Define table test cases for OverrideWithCLI. + // Define table test cases for OverrideConfig. cases := []struct { desc string override Config @@ -220,7 +359,10 @@ func TestOverrideWithCLI(t *testing.T) { IncludeBase bool `json:"includeBase"` }{Base: "https://override.com"}, }, - expectFunc: func(c *Config) bool { return c.URL.Base == "https://override.com" }, + preSetup: nil, + expectFunc: func(c *Config) bool { + return c.URL.Base == "https://override.com" + }, expectOutput: "Overriding URL.Base: ", }, { @@ -233,7 +375,6 @@ func TestOverrideWithCLI(t *testing.T) { }{OutputFormats: []string{"csv"}}, }, preSetup: func(c *Config) { - // Pre-populate with a different slice. c.Storage.OutputFormats = []string{"json"} }, expectFunc: func(c *Config) bool { @@ -250,6 +391,7 @@ func TestOverrideWithCLI(t *testing.T) { IncludeBase bool `json:"includeBase"` }{IncludeBase: true}, }, + preSetup: nil, expectFunc: func(c *Config) bool { return c.URL.IncludeBase }, expectOutput: "Overriding URL.IncludeBase: ", }, @@ -272,66 +414,43 @@ func TestOverrideWithCLI(t *testing.T) { UserAgent string `json:"userAgent"` }{MaxDepth: 5}, }, + preSetup: nil, expectFunc: func(c *Config) bool { return c.URL.Base == "https://multiple.com" && c.ScrapingOptions.MaxDepth == 5 }, expectOutput: "Overriding URL.Base: ", }, { - desc: "Empty slice override does not trigger override", + desc: "Override empty slice (applies override)", override: Config{ Storage: struct { OutputFormats []string `json:"outputFormats"` SavePath string `json:"savePath"` FileName string `json:"fileName"` - }{OutputFormats: []string{}}, // Empty slice; should be skipped. + }{OutputFormats: []string{}}, // Even empty slice should override. }, preSetup: func(c *Config) { - // Set a non-empty default to confirm it is not overridden. c.Storage.OutputFormats = []string{"json"} }, expectFunc: func(c *Config) bool { - // Expect no change. - return reflect.DeepEqual(c.Storage.OutputFormats, []string{"json"}) + // Expect the override to apply, resulting in an empty slice. + return reflect.DeepEqual(c.Storage.OutputFormats, []string{}) }, - expectOutput: "", // No override message expected. + expectOutput: "Overriding Storage.OutputFormats: ", }, { - desc: "No override applied when all fields are zero", + desc: "Override non-struct field (Version)", override: Config{ - URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{}, // all zero values - Storage: struct { - OutputFormats []string `json:"outputFormats"` - SavePath string `json:"savePath"` - FileName string `json:"fileName"` - }{}, - ParseRules: struct { - Title string `json:"title,omitempty"` - MetaDescription string `json:"metaDescription,omitempty"` - ArticleContent string `json:"articleContent,omitempty"` - Author string `json:"author,omitempty"` - DatePublished string `json:"datePublished,omitempty"` - }{}, - ScrapingOptions: struct { - MaxDepth int `json:"maxDepth"` - RateLimit float64 `json:"rateLimit"` - RetryAttempts int `json:"retryAttempts"` - UserAgent string `json:"userAgent"` - }{}, - DataFormatting: struct { - CleanWhitespace bool `json:"cleanWhitespace"` - RemoveHTML bool `json:"removeHTML"` - }{}, + Version: "v2.0", + }, + preSetup: func(c *Config) { + c.Version = "v1.0" }, expectFunc: func(c *Config) bool { - // Expect no changes: the defaults remain. - return c.URL.Base != "" && len(c.Storage.OutputFormats) > 0 + // Expect the version to be overridden to "v2.0". + return c.Version == "v2.0" }, - expectOutput: "", // No output expected. + expectOutput: "Overriding Version: ", }, } @@ -342,18 +461,17 @@ func TestOverrideWithCLI(t *testing.T) { // Create a fresh config with defaults applied. testCfg := &Config{} testCfg.ApplyDefaults() - // If any pre-setup is needed, run it. if tc.preSetup != nil { tc.preSetup(testCfg) } - // Directly call OverrideWithCLI. - testCfg.OverrideWithCLI(tc.override) - // Verify that the override was applied (or not applied) as expected. + // Apply the override. + testCfg.OverrideConfig(tc.override) + // Verify that the override was applied. if !tc.expectFunc(testCfg) { t.Errorf("Expected override condition not met. Got %+v", testCfg) } - // Verify that the patched PrintColored was called with the expected substring. + // Verify that PrintColored was called with the expected message. if !strings.Contains(captured, tc.expectOutput) { t.Errorf("Expected output to contain '%s', got '%s'", tc.expectOutput, captured) } From a5388daa901fc4966790c613dcd86fb918c8b901 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 16:28:18 -0600 Subject: [PATCH 45/47] 100% coverage, bug with empty values --- pkg/config/config.go | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/pkg/config/config.go b/pkg/config/config.go index ec32b61..fe4a583 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -154,14 +154,16 @@ func Load(filePath string) (*Config, error) { } /* -OverrideWithCLI dynamically overrides config values based on the provided `overrides` struct. +OverrideConfig applies all values from the provided `overrides` struct to the existing configuration. Parameters: - - overrides: A partial Config struct containing only the fields to override. + - overrides: A partial Config struct containing the fields to override. All values provided—including zero values, + empty slices, and non-struct fields (e.g., Version)—are applied exactly as given. Usage: - cfg.OverrideWithCLI(Config{ + cfg.OverrideConfig(Config{ + Version: "v2.0", URL: struct { Base string `json:"base"` Routes []string `json:"routes"` @@ -180,35 +182,27 @@ Usage: }) Notes: - - Only **non-zero** values in `overrides` are applied. + - All values provided in `overrides` are applied, regardless of whether they are non-zero. - Uses **reflection** to dynamically override values while maintaining type safety. - - Since every top‑level field in Config is a struct, only that branch is executed. + - Both struct and non-struct fields are overridden. */ func (cfg *Config) OverrideConfig(overrides Config) { cfgValue := reflect.ValueOf(cfg).Elem() overridesValue := reflect.ValueOf(overrides) + // Since every top-level field in Config is exported and settable, + // we do not check for validity or settable status. for i := 0; i < overridesValue.NumField(); i++ { field := overridesValue.Type().Field(i) overrideField := overridesValue.Field(i) configField := cfgValue.FieldByName(field.Name) - if !configField.IsValid() || !configField.CanSet() { - continue - } - - // If the override field is a struct, iterate over its subfields and apply every value (even if zero or empty). if overrideField.Kind() == reflect.Struct { + // For struct fields, override every subfield. for j := 0; j < overrideField.NumField(); j++ { subField := overrideField.Type().Field(j) overrideSubField := overrideField.Field(j) configSubField := configField.FieldByName(subField.Name) - - if !configSubField.IsValid() || !configSubField.CanSet() { - continue - } - - // Always override the subfield value, regardless of its value. utils.PrintColored(fmt.Sprintf("Overriding %s.%s: ", field.Name, subField.Name), fmt.Sprint(overrideSubField.Interface()), color.FgHiMagenta) configSubField.Set(overrideSubField) From 364c20fb86907914bb50dcface40af3f97cb5b09 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 16:46:46 -0600 Subject: [PATCH 46/47] 100% coverage, no bugs --- cmd/scrapeycli/main.go | 41 ++++- pkg/config/config.go | 195 +++++++++++++++----- pkg/config/config_test.go | 365 +++++++++++++++++++------------------- 3 files changed, 365 insertions(+), 236 deletions(-) diff --git a/cmd/scrapeycli/main.go b/cmd/scrapeycli/main.go index e84bbb6..e456373 100644 --- a/cmd/scrapeycli/main.go +++ b/cmd/scrapeycli/main.go @@ -46,17 +46,22 @@ func init() { flag.BoolVar(&verbose, "v", false, "Enable verbose output (shorthand)") } +// Helper functions to create pointers for literal values. +func ptrString(s string) *string { return &s } +func ptrInt(i int) *int { return &i } +func ptrFloat64(f float64) *float64 { return &f } + /* main is the entry point of Scrapey CLI. It parses command-line flags, prints a welcome message, loads the configuration, -handles overrides, and prints confirmation messages for each step. +applies CLI overrides using a ConfigOverride object, and prints confirmation messages. */ func main() { // Parse CLI flags. flag.Parse() - // Store the verbose flag in global state + // Store the verbose flag in global state. config.Verbose = verbose // Print a welcome message in cyan using our PrintColored utility. @@ -75,22 +80,44 @@ func main() { os.Exit(1) } - // Construct a partial Config struct for CLI overrides. - cliOverrides := config.Config{} + // Construct a partial ConfigOverride struct for CLI overrides. + cliOverrides := config.ConfigOverride{} // Apply URL override if provided. if url != "" { - cliOverrides.URL.Base = url + cliOverrides.URL = &struct { + Base *string `json:"base"` + Routes *[]string `json:"routes"` + IncludeBase *bool `json:"includeBase"` + }{ + Base: ptrString(url), + } } // Apply maxDepth override if provided. if maxDepth > 0 { - cliOverrides.ScrapingOptions.MaxDepth = maxDepth + if cliOverrides.ScrapingOptions == nil { + cliOverrides.ScrapingOptions = &struct { + MaxDepth *int `json:"maxDepth"` + RateLimit *float64 `json:"rateLimit"` + RetryAttempts *int `json:"retryAttempts"` + UserAgent *string `json:"userAgent"` + }{} + } + cliOverrides.ScrapingOptions.MaxDepth = ptrInt(maxDepth) } // Apply rateLimit override if provided. if rateLimit > 0 { - cliOverrides.ScrapingOptions.RateLimit = rateLimit + if cliOverrides.ScrapingOptions == nil { + cliOverrides.ScrapingOptions = &struct { + MaxDepth *int `json:"maxDepth"` + RateLimit *float64 `json:"rateLimit"` + RetryAttempts *int `json:"retryAttempts"` + UserAgent *string `json:"userAgent"` + }{} + } + cliOverrides.ScrapingOptions.RateLimit = ptrFloat64(rateLimit) } // Apply all CLI overrides dynamically. diff --git a/pkg/config/config.go b/pkg/config/config.go index fe4a583..6ee0820 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -1,12 +1,9 @@ -// File: pkg/config/config.go - package config import ( "encoding/json" "fmt" "os" - "reflect" "github.com/fatih/color" "github.com/heinrichb/scrapey-cli/pkg/utils" @@ -65,6 +62,42 @@ type Config struct { } `json:"dataFormatting"` } +/* +ConfigOverride represents a partial configuration used for overriding values. +All fields are pointers, so that nil indicates "no override" while a non-nil value, +even if zero, is used to override the corresponding Config field. +*/ +type ConfigOverride struct { + Version *string `json:"version"` + URL *struct { + Base *string `json:"base"` + Routes *[]string `json:"routes"` + IncludeBase *bool `json:"includeBase"` + } `json:"url"` + ParseRules *struct { + Title *string `json:"title,omitempty"` + MetaDescription *string `json:"metaDescription,omitempty"` + ArticleContent *string `json:"articleContent,omitempty"` + Author *string `json:"author,omitempty"` + DatePublished *string `json:"datePublished,omitempty"` + } `json:"parseRules"` + Storage *struct { + OutputFormats *[]string `json:"outputFormats"` + SavePath *string `json:"savePath"` + FileName *string `json:"fileName"` + } `json:"storage"` + ScrapingOptions *struct { + MaxDepth *int `json:"maxDepth"` + RateLimit *float64 `json:"rateLimit"` + RetryAttempts *int `json:"retryAttempts"` + UserAgent *string `json:"userAgent"` + } `json:"scrapingOptions"` + DataFormatting *struct { + CleanWhitespace *bool `json:"cleanWhitespace"` + RemoveHTML *bool `json:"removeHTML"` + } `json:"dataFormatting"` +} + /* ApplyDefaults populates missing fields in the Config struct with default values. @@ -154,64 +187,130 @@ func Load(filePath string) (*Config, error) { } /* -OverrideConfig applies all values from the provided `overrides` struct to the existing configuration. +OverrideConfig applies values from the provided `overrides` object to the existing configuration. +Only fields with non-nil pointers in the overrides object are applied; all other fields remain unchanged. Parameters: - - overrides: A partial Config struct containing the fields to override. All values provided—including zero values, - empty slices, and non-struct fields (e.g., Version)—are applied exactly as given. + - overrides: A ConfigOverride struct containing only the fields to override. + A nil pointer indicates that no override should occur for that field. Usage: - cfg.OverrideConfig(Config{ - Version: "v2.0", - URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` + cfg.OverrideConfig(ConfigOverride{ + URL: &struct { + Base *string `json:"base"` + Routes *[]string `json:"routes"` + IncludeBase *bool `json:"includeBase"` }{ - Base: "https://example.org", + Base: ptrString("https://example.org"), }, - ScrapingOptions: struct { - MaxDepth int `json:"maxDepth"` - RateLimit float64 `json:"rateLimit"` - RetryAttempts int `json:"retryAttempts"` - UserAgent string `json:"userAgent"` + ScrapingOptions: &struct { + MaxDepth *int `json:"maxDepth"` + RateLimit *float64 `json:"rateLimit"` + RetryAttempts *int `json:"retryAttempts"` + UserAgent *string `json:"userAgent"` }{ - MaxDepth: 5, + MaxDepth: ptrInt(5), }, }) Notes: - - All values provided in `overrides` are applied, regardless of whether they are non-zero. - - Uses **reflection** to dynamically override values while maintaining type safety. - - Both struct and non-struct fields are overridden. + - Only fields with non-nil pointers in `overrides` are applied. + - This allows partial configuration overrides without unintentionally overwriting existing values. + - Both struct and non-struct fields are overridden if provided. */ -func (cfg *Config) OverrideConfig(overrides Config) { - cfgValue := reflect.ValueOf(cfg).Elem() - overridesValue := reflect.ValueOf(overrides) - - // Since every top-level field in Config is exported and settable, - // we do not check for validity or settable status. - for i := 0; i < overridesValue.NumField(); i++ { - field := overridesValue.Type().Field(i) - overrideField := overridesValue.Field(i) - configField := cfgValue.FieldByName(field.Name) - - if overrideField.Kind() == reflect.Struct { - // For struct fields, override every subfield. - for j := 0; j < overrideField.NumField(); j++ { - subField := overrideField.Type().Field(j) - overrideSubField := overrideField.Field(j) - configSubField := configField.FieldByName(subField.Name) - utils.PrintColored(fmt.Sprintf("Overriding %s.%s: ", field.Name, subField.Name), - fmt.Sprint(overrideSubField.Interface()), color.FgHiMagenta) - configSubField.Set(overrideSubField) - } - } else { - // For non-struct fields, override unconditionally. - utils.PrintColored(fmt.Sprintf("Overriding %s: ", field.Name), - fmt.Sprint(overrideField.Interface()), color.FgHiMagenta) - configField.Set(overrideField) +func (cfg *Config) OverrideConfig(overrides ConfigOverride) { + // Override non-struct field: Version. + if overrides.Version != nil { + utils.PrintColored("Overriding Version: ", *overrides.Version, color.FgHiMagenta) + cfg.Version = *overrides.Version + } + + // Override URL fields. + if overrides.URL != nil { + if overrides.URL.Base != nil { + utils.PrintColored("Overriding URL.Base: ", *overrides.URL.Base, color.FgHiMagenta) + cfg.URL.Base = *overrides.URL.Base + } + if overrides.URL.Routes != nil { + utils.PrintColored("Overriding URL.Routes: ", fmt.Sprint(*overrides.URL.Routes), color.FgHiMagenta) + cfg.URL.Routes = *overrides.URL.Routes + } + if overrides.URL.IncludeBase != nil { + utils.PrintColored("Overriding URL.IncludeBase: ", fmt.Sprint(*overrides.URL.IncludeBase), color.FgHiMagenta) + cfg.URL.IncludeBase = *overrides.URL.IncludeBase + } + } + + // Override ParseRules fields. + if overrides.ParseRules != nil { + if overrides.ParseRules.Title != nil { + utils.PrintColored("Overriding ParseRules.Title: ", *overrides.ParseRules.Title, color.FgHiMagenta) + cfg.ParseRules.Title = *overrides.ParseRules.Title + } + if overrides.ParseRules.MetaDescription != nil { + utils.PrintColored("Overriding ParseRules.MetaDescription: ", *overrides.ParseRules.MetaDescription, color.FgHiMagenta) + cfg.ParseRules.MetaDescription = *overrides.ParseRules.MetaDescription + } + if overrides.ParseRules.ArticleContent != nil { + utils.PrintColored("Overriding ParseRules.ArticleContent: ", *overrides.ParseRules.ArticleContent, color.FgHiMagenta) + cfg.ParseRules.ArticleContent = *overrides.ParseRules.ArticleContent + } + if overrides.ParseRules.Author != nil { + utils.PrintColored("Overriding ParseRules.Author: ", *overrides.ParseRules.Author, color.FgHiMagenta) + cfg.ParseRules.Author = *overrides.ParseRules.Author + } + if overrides.ParseRules.DatePublished != nil { + utils.PrintColored("Overriding ParseRules.DatePublished: ", *overrides.ParseRules.DatePublished, color.FgHiMagenta) + cfg.ParseRules.DatePublished = *overrides.ParseRules.DatePublished + } + } + + // Override Storage fields. + if overrides.Storage != nil { + if overrides.Storage.OutputFormats != nil { + utils.PrintColored("Overriding Storage.OutputFormats: ", fmt.Sprint(*overrides.Storage.OutputFormats), color.FgHiMagenta) + cfg.Storage.OutputFormats = *overrides.Storage.OutputFormats + } + if overrides.Storage.SavePath != nil { + utils.PrintColored("Overriding Storage.SavePath: ", *overrides.Storage.SavePath, color.FgHiMagenta) + cfg.Storage.SavePath = *overrides.Storage.SavePath + } + if overrides.Storage.FileName != nil { + utils.PrintColored("Overriding Storage.FileName: ", *overrides.Storage.FileName, color.FgHiMagenta) + cfg.Storage.FileName = *overrides.Storage.FileName + } + } + + // Override ScrapingOptions fields. + if overrides.ScrapingOptions != nil { + if overrides.ScrapingOptions.MaxDepth != nil { + utils.PrintColored("Overriding ScrapingOptions.MaxDepth: ", fmt.Sprint(*overrides.ScrapingOptions.MaxDepth), color.FgHiMagenta) + cfg.ScrapingOptions.MaxDepth = *overrides.ScrapingOptions.MaxDepth + } + if overrides.ScrapingOptions.RateLimit != nil { + utils.PrintColored("Overriding ScrapingOptions.RateLimit: ", fmt.Sprint(*overrides.ScrapingOptions.RateLimit), color.FgHiMagenta) + cfg.ScrapingOptions.RateLimit = *overrides.ScrapingOptions.RateLimit + } + if overrides.ScrapingOptions.RetryAttempts != nil { + utils.PrintColored("Overriding ScrapingOptions.RetryAttempts: ", fmt.Sprint(*overrides.ScrapingOptions.RetryAttempts), color.FgHiMagenta) + cfg.ScrapingOptions.RetryAttempts = *overrides.ScrapingOptions.RetryAttempts + } + if overrides.ScrapingOptions.UserAgent != nil { + utils.PrintColored("Overriding ScrapingOptions.UserAgent: ", *overrides.ScrapingOptions.UserAgent, color.FgHiMagenta) + cfg.ScrapingOptions.UserAgent = *overrides.ScrapingOptions.UserAgent + } + } + + // Override DataFormatting fields. + if overrides.DataFormatting != nil { + if overrides.DataFormatting.CleanWhitespace != nil { + utils.PrintColored("Overriding DataFormatting.CleanWhitespace: ", fmt.Sprint(*overrides.DataFormatting.CleanWhitespace), color.FgHiMagenta) + cfg.DataFormatting.CleanWhitespace = *overrides.DataFormatting.CleanWhitespace + } + if overrides.DataFormatting.RemoveHTML != nil { + utils.PrintColored("Overriding DataFormatting.RemoveHTML: ", fmt.Sprint(*overrides.DataFormatting.RemoveHTML), color.FgHiMagenta) + cfg.DataFormatting.RemoveHTML = *overrides.DataFormatting.RemoveHTML } } } diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 1be7404..457a4af 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -13,28 +13,29 @@ import ( "github.com/heinrichb/scrapey-cli/pkg/utils" ) +// Helper functions to easily create pointer values. +func ptrString(s string) *string { return &s } +func ptrInt(i int) *int { return &i } +func ptrFloat64(f float64) *float64 { return &f } +func ptrBool(b bool) *bool { return &b } + // TestApplyDefaults tests the ApplyDefaults function to ensure that missing fields are set to default values. -// This test function uses multiple cases to verify that defaults are correctly applied. func TestApplyDefaults(t *testing.T) { cases := []struct { desc string - setup func(cfg *Config) // Optionally pre-set some fields. + setup func(cfg *Config) validate func(t *testing.T, cfg *Config) }{ { - desc: "All fields missing should be set to defaults", - setup: func(cfg *Config) { - // Leave all fields at their zero values. - }, + desc: "All fields missing should be set to defaults", + setup: func(cfg *Config) {}, validate: func(t *testing.T, cfg *Config) { - // Check URL defaults. if cfg.URL.Base != "https://example.com" { t.Errorf("Expected URL.Base to be 'https://example.com', got '%s'", cfg.URL.Base) } if len(cfg.URL.Routes) != 1 || cfg.URL.Routes[0] != "/" { t.Errorf("Expected URL.Routes to be ['/'], got %v", cfg.URL.Routes) } - // Check ScrapingOptions defaults. if cfg.ScrapingOptions.MaxDepth != 2 { t.Errorf("Expected ScrapingOptions.MaxDepth to be 2, got %d", cfg.ScrapingOptions.MaxDepth) } @@ -48,7 +49,6 @@ func TestApplyDefaults(t *testing.T) { if cfg.ScrapingOptions.UserAgent != expectedUA { t.Errorf("Expected ScrapingOptions.UserAgent to be '%s', got '%s'", expectedUA, cfg.ScrapingOptions.UserAgent) } - // Check Storage defaults. if len(cfg.Storage.OutputFormats) != 1 || cfg.Storage.OutputFormats[0] != "json" { t.Errorf("Expected Storage.OutputFormats to be ['json'], got %v", cfg.Storage.OutputFormats) } @@ -63,19 +63,16 @@ func TestApplyDefaults(t *testing.T) { { desc: "Pre-set fields remain unchanged and missing fields get defaults", setup: func(cfg *Config) { - // Pre-set some fields. cfg.URL.Base = "https://preset.com" cfg.Storage.SavePath = "custom_output/" }, validate: func(t *testing.T, cfg *Config) { - // Pre-set values should be retained. if cfg.URL.Base != "https://preset.com" { t.Errorf("Expected URL.Base to be 'https://preset.com', got '%s'", cfg.URL.Base) } if cfg.Storage.SavePath != "custom_output/" { t.Errorf("Expected Storage.SavePath to be 'custom_output/', got '%s'", cfg.Storage.SavePath) } - // Other fields should be set to defaults. if len(cfg.URL.Routes) != 1 || cfg.URL.Routes[0] != "/" { t.Errorf("Expected URL.Routes to be ['/'], got %v", cfg.URL.Routes) } @@ -93,7 +90,6 @@ func TestApplyDefaults(t *testing.T) { { desc: "No change if all fields are pre-set", setup: func(cfg *Config) { - // Set all fields explicitly. cfg.URL.Base = "https://preset.com" cfg.URL.Routes = []string{"/preset"} cfg.ScrapingOptions.MaxDepth = 10 @@ -105,7 +101,6 @@ func TestApplyDefaults(t *testing.T) { cfg.Storage.FileName = "preset_data" }, validate: func(t *testing.T, cfg *Config) { - // Expect all pre-set fields to remain unchanged. if cfg.URL.Base != "https://preset.com" { t.Errorf("Expected URL.Base to be 'https://preset.com', got '%s'", cfg.URL.Base) } @@ -140,23 +135,17 @@ func TestApplyDefaults(t *testing.T) { for _, tc := range cases { t.Run(tc.desc, func(t *testing.T) { cfg := &Config{} - // Allow test-specific pre-setup. if tc.setup != nil { tc.setup(cfg) } - // Call ApplyDefaults. cfg.ApplyDefaults() - // Validate that defaults have been applied as expected. tc.validate(t, cfg) }) } } -// TestLoad tests the Load function in a single function with multiple cases. -// We cover scenarios like missing file, unreadable file, invalid JSON, -// and valid JSON with verbose mode on/off. +// TestLoad tests the Load function with various file conditions. func TestLoad(t *testing.T) { - // Patch utils.PrintColored and utils.PrintNonEmptyFields. var capturedColored string patchColored := monkey.Patch(utils.PrintColored, func(a ...interface{}) { capturedColored += fmt.Sprint(a...) @@ -169,21 +158,19 @@ func TestLoad(t *testing.T) { }) defer patchNonEmpty.Unpatch() - // Define table test cases for Load. cases := []struct { desc string - fileSetup func(fileName string) // Setup the file (write contents, change permissions) - verbose bool // Set global Verbose before calling Load. - expectErr bool // Expect Load() to return an error. + fileSetup func(fileName string) + verbose bool + expectErr bool checkOutput func(t *testing.T, colored, nonEmpty string) }{ { desc: "Missing config file", - fileSetup: nil, // Do not create the file so that it is missing. + fileSetup: nil, verbose: false, expectErr: true, checkOutput: func(t *testing.T, colored, nonEmpty string) { - // For a missing file, no printing should occur. if colored != "" { t.Errorf("Expected no colored output for missing file, got: %s", colored) } @@ -192,16 +179,13 @@ func TestLoad(t *testing.T) { { desc: "Unreadable config file", fileSetup: func(name string) { - // Create a file with valid JSON. if err := os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"}}`), 0644); err != nil { t.Fatalf("Failed to write file: %v", err) } - // We'll patch os.ReadFile below to simulate a read error. }, verbose: false, expectErr: true, checkOutput: func(t *testing.T, colored, nonEmpty string) { - // Expect that PrintColored is called. if !strings.Contains(colored, "Loaded config from: ") { t.Errorf("Expected colored output, got: %s", colored) } @@ -210,7 +194,6 @@ func TestLoad(t *testing.T) { { desc: "Invalid JSON format", fileSetup: func(name string) { - // Write invalid JSON. if err := os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"`), 0644); err != nil { t.Fatalf("Failed to write file: %v", err) } @@ -218,7 +201,6 @@ func TestLoad(t *testing.T) { verbose: false, expectErr: true, checkOutput: func(t *testing.T, colored, nonEmpty string) { - // Even with invalid JSON, colored output should be produced. if !strings.Contains(colored, "Loaded config from: ") { t.Errorf("Expected colored output, got: %s", colored) } @@ -227,7 +209,6 @@ func TestLoad(t *testing.T) { { desc: "Valid JSON without verbose mode", fileSetup: func(name string) { - // Write valid minimal JSON. if err := os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"}}`), 0644); err != nil { t.Fatalf("Failed to write file: %v", err) } @@ -235,7 +216,6 @@ func TestLoad(t *testing.T) { verbose: false, expectErr: false, checkOutput: func(t *testing.T, colored, nonEmpty string) { - // When verbose is false, only colored output is expected. if !strings.Contains(colored, "Loaded config from: ") { t.Errorf("Expected colored output, got: %s", colored) } @@ -247,7 +227,6 @@ func TestLoad(t *testing.T) { { desc: "Valid JSON with verbose mode", fileSetup: func(name string) { - // Write valid minimal JSON. if err := os.WriteFile(name, []byte(`{"url": {"base": "http://example.org"}}`), 0644); err != nil { t.Fatalf("Failed to write file: %v", err) } @@ -255,7 +234,6 @@ func TestLoad(t *testing.T) { verbose: true, expectErr: false, checkOutput: func(t *testing.T, colored, nonEmpty string) { - // With verbose mode on, both colored and non-empty outputs should be present. if !strings.Contains(colored, "Loaded config from: ") { t.Errorf("Expected colored output, got: %s", colored) } @@ -266,22 +244,16 @@ func TestLoad(t *testing.T) { }, } - // Run test cases. for _, tc := range cases { t.Run(tc.desc, func(t *testing.T) { - // Reset captured outputs. capturedColored = "" - // Reset capturedNonEmpty inside the patch by re-patching. patchNonEmpty.Unpatch() patchNonEmpty = monkey.Patch(utils.PrintNonEmptyFields, func(prefix string, cfg interface{}) { capturedNonEmpty += "nonEmptyFieldsCalled" }) defer patchNonEmpty.Unpatch() - - // Set the global Verbose flag as needed. Verbose = tc.verbose - // Prepare file. If no setup, use a name that does not exist. var fileName string if tc.fileSetup != nil { tmpFile, err := os.CreateTemp("", "config_*.json") @@ -289,16 +261,14 @@ func TestLoad(t *testing.T) { t.Fatalf("Failed to create temp file: %v", err) } fileName = tmpFile.Name() - tmpFile.Close() // Close so that file can be manipulated. + tmpFile.Close() tc.fileSetup(fileName) - // For cleanup and permission safety. os.Chmod(fileName, 0644) defer os.Remove(fileName) } else { fileName = "nonexistent_config.json" } - // For the unreadable file test, patch os.ReadFile to simulate a read error. if tc.desc == "Unreadable config file" { patchReadFile := monkey.Patch(os.ReadFile, func(name string) ([]byte, error) { return nil, fmt.Errorf("simulated read error") @@ -311,7 +281,6 @@ func TestLoad(t *testing.T) { if err == nil { t.Errorf("Expected error but got nil") } - // Skip further checks if error was expected. return } else { if err != nil { @@ -319,162 +288,196 @@ func TestLoad(t *testing.T) { return } } - - // Ensure ApplyDefaults populated required fields (e.g. URL.Base). if cfg.URL.Base == "" { t.Errorf("Expected URL.Base to be set, got empty") } - // Validate captured output. tc.checkOutput(t, capturedColored, capturedNonEmpty) }) } } -// TestOverrideConfig tests the OverrideConfig function in a single function with multiple cases. -// We patch utils.PrintColored to capture its output in a global variable. -// In addition to our previous override cases, we add tests for empty-slice overrides, -// for when no override is applied, and for non-struct fields (like the new Version field). -func TestOverrideConfig(t *testing.T) { - // Patch utils.PrintColored to capture printed messages. +// TestOverrideConfigFull tests the new OverrideConfig function using the ConfigOverride type. +// It creates a base config, applies a full override and verifies that all fields have been updated accordingly. +func TestOverrideConfigFull(t *testing.T) { var captured string patchColored := monkey.Patch(utils.PrintColored, func(a ...interface{}) { captured += fmt.Sprint(a...) }) defer patchColored.Unpatch() - // Define table test cases for OverrideConfig. - cases := []struct { - desc string - override Config - preSetup func(*Config) // Optionally modify the initial config. - expectFunc func(*Config) bool // Checks that the override was applied. - expectOutput string // Expected substring in the printed output. - }{ - { - desc: "Override URL.Base", - override: Config{ - URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{Base: "https://override.com"}, - }, - preSetup: nil, - expectFunc: func(c *Config) bool { - return c.URL.Base == "https://override.com" - }, - expectOutput: "Overriding URL.Base: ", + // Create a base config with default values. + base := &Config{} + base.ApplyDefaults() + + // Create an override with non-nil pointers for every field. + overrides := ConfigOverride{ + Version: ptrString("v2.0"), + URL: &struct { + Base *string `json:"base"` + Routes *[]string `json:"routes"` + IncludeBase *bool `json:"includeBase"` + }{ + Base: ptrString("https://override.com"), + Routes: &[]string{"/new", "/extra"}, + IncludeBase: ptrBool(true), }, - { - desc: "Override non-empty slice", - override: Config{ - Storage: struct { - OutputFormats []string `json:"outputFormats"` - SavePath string `json:"savePath"` - FileName string `json:"fileName"` - }{OutputFormats: []string{"csv"}}, - }, - preSetup: func(c *Config) { - c.Storage.OutputFormats = []string{"json"} - }, - expectFunc: func(c *Config) bool { - return reflect.DeepEqual(c.Storage.OutputFormats, []string{"csv"}) - }, - expectOutput: "Overriding Storage.OutputFormats: ", + ParseRules: &struct { + Title *string `json:"title,omitempty"` + MetaDescription *string `json:"metaDescription,omitempty"` + ArticleContent *string `json:"articleContent,omitempty"` + Author *string `json:"author,omitempty"` + DatePublished *string `json:"datePublished,omitempty"` + }{ + Title: ptrString("New Title"), + MetaDescription: ptrString("New Meta"), + ArticleContent: ptrString("New Content"), + Author: ptrString("New Author"), + DatePublished: ptrString("2022-01-01"), }, - { - desc: "Override boolean", - override: Config{ - URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{IncludeBase: true}, - }, - preSetup: nil, - expectFunc: func(c *Config) bool { return c.URL.IncludeBase }, - expectOutput: "Overriding URL.IncludeBase: ", + Storage: &struct { + OutputFormats *[]string `json:"outputFormats"` + SavePath *string `json:"savePath"` + FileName *string `json:"fileName"` + }{ + OutputFormats: &[]string{"csv"}, + SavePath: ptrString("new_output/"), + FileName: ptrString("new_data"), }, - { - desc: "Override multiple values", - override: Config{ - URL: struct { - Base string `json:"base"` - Routes []string `json:"routes"` - IncludeBase bool `json:"includeBase"` - }{ - Base: "https://multiple.com", - Routes: []string{"/new"}, - IncludeBase: true, - }, - ScrapingOptions: struct { - MaxDepth int `json:"maxDepth"` - RateLimit float64 `json:"rateLimit"` - RetryAttempts int `json:"retryAttempts"` - UserAgent string `json:"userAgent"` - }{MaxDepth: 5}, - }, - preSetup: nil, - expectFunc: func(c *Config) bool { - return c.URL.Base == "https://multiple.com" && c.ScrapingOptions.MaxDepth == 5 - }, - expectOutput: "Overriding URL.Base: ", + ScrapingOptions: &struct { + MaxDepth *int `json:"maxDepth"` + RateLimit *float64 `json:"rateLimit"` + RetryAttempts *int `json:"retryAttempts"` + UserAgent *string `json:"userAgent"` + }{ + MaxDepth: ptrInt(5), + RateLimit: ptrFloat64(2.0), + RetryAttempts: ptrInt(4), + UserAgent: ptrString("OverrideAgent"), }, - { - desc: "Override empty slice (applies override)", - override: Config{ - Storage: struct { - OutputFormats []string `json:"outputFormats"` - SavePath string `json:"savePath"` - FileName string `json:"fileName"` - }{OutputFormats: []string{}}, // Even empty slice should override. - }, - preSetup: func(c *Config) { - c.Storage.OutputFormats = []string{"json"} - }, - expectFunc: func(c *Config) bool { - // Expect the override to apply, resulting in an empty slice. - return reflect.DeepEqual(c.Storage.OutputFormats, []string{}) - }, - expectOutput: "Overriding Storage.OutputFormats: ", - }, - { - desc: "Override non-struct field (Version)", - override: Config{ - Version: "v2.0", - }, - preSetup: func(c *Config) { - c.Version = "v1.0" - }, - expectFunc: func(c *Config) bool { - // Expect the version to be overridden to "v2.0". - return c.Version == "v2.0" - }, - expectOutput: "Overriding Version: ", + DataFormatting: &struct { + CleanWhitespace *bool `json:"cleanWhitespace"` + RemoveHTML *bool `json:"removeHTML"` + }{ + CleanWhitespace: ptrBool(true), + RemoveHTML: ptrBool(true), }, } - // Run test cases. - for _, tc := range cases { - t.Run(tc.desc, func(t *testing.T) { - captured = "" // Reset captured output. - // Create a fresh config with defaults applied. - testCfg := &Config{} - testCfg.ApplyDefaults() - if tc.preSetup != nil { - tc.preSetup(testCfg) - } + // Apply the override. + base.OverrideConfig(overrides) - // Apply the override. - testCfg.OverrideConfig(tc.override) - // Verify that the override was applied. - if !tc.expectFunc(testCfg) { - t.Errorf("Expected override condition not met. Got %+v", testCfg) - } - // Verify that PrintColored was called with the expected message. - if !strings.Contains(captured, tc.expectOutput) { - t.Errorf("Expected output to contain '%s', got '%s'", tc.expectOutput, captured) - } - }) + // Verify that each field has been updated. + if base.Version != "v2.0" { + t.Errorf("Expected Version to be 'v2.0', got '%s'", base.Version) + } + if base.URL.Base != "https://override.com" { + t.Errorf("Expected URL.Base to be 'https://override.com', got '%s'", base.URL.Base) + } + if !reflect.DeepEqual(base.URL.Routes, []string{"/new", "/extra"}) { + t.Errorf("Expected URL.Routes to be ['/new', '/extra'], got %v", base.URL.Routes) + } + if !base.URL.IncludeBase { + t.Errorf("Expected URL.IncludeBase to be true") + } + if base.ParseRules.Title != "New Title" { + t.Errorf("Expected ParseRules.Title to be 'New Title', got '%s'", base.ParseRules.Title) + } + if base.ParseRules.MetaDescription != "New Meta" { + t.Errorf("Expected ParseRules.MetaDescription to be 'New Meta', got '%s'", base.ParseRules.MetaDescription) + } + if base.ParseRules.ArticleContent != "New Content" { + t.Errorf("Expected ParseRules.ArticleContent to be 'New Content', got '%s'", base.ParseRules.ArticleContent) + } + if base.ParseRules.Author != "New Author" { + t.Errorf("Expected ParseRules.Author to be 'New Author', got '%s'", base.ParseRules.Author) + } + if base.ParseRules.DatePublished != "2022-01-01" { + t.Errorf("Expected ParseRules.DatePublished to be '2022-01-01', got '%s'", base.ParseRules.DatePublished) + } + if !reflect.DeepEqual(base.Storage.OutputFormats, []string{"csv"}) { + t.Errorf("Expected Storage.OutputFormats to be ['csv'], got %v", base.Storage.OutputFormats) + } + if base.Storage.SavePath != "new_output/" { + t.Errorf("Expected Storage.SavePath to be 'new_output/', got '%s'", base.Storage.SavePath) + } + if base.Storage.FileName != "new_data" { + t.Errorf("Expected Storage.FileName to be 'new_data', got '%s'", base.Storage.FileName) + } + if base.ScrapingOptions.MaxDepth != 5 { + t.Errorf("Expected ScrapingOptions.MaxDepth to be 5, got %d", base.ScrapingOptions.MaxDepth) + } + if base.ScrapingOptions.RateLimit != 2.0 { + t.Errorf("Expected ScrapingOptions.RateLimit to be 2.0, got %f", base.ScrapingOptions.RateLimit) + } + if base.ScrapingOptions.RetryAttempts != 4 { + t.Errorf("Expected ScrapingOptions.RetryAttempts to be 4, got %d", base.ScrapingOptions.RetryAttempts) + } + if base.ScrapingOptions.UserAgent != "OverrideAgent" { + t.Errorf("Expected ScrapingOptions.UserAgent to be 'OverrideAgent', got '%s'", base.ScrapingOptions.UserAgent) + } + if !base.DataFormatting.CleanWhitespace { + t.Errorf("Expected DataFormatting.CleanWhitespace to be true") + } + if !base.DataFormatting.RemoveHTML { + t.Errorf("Expected DataFormatting.RemoveHTML to be true") + } + + // Optionally, you can verify that PrintColored was called for each overridden field. + expectedSubstrs := []string{ + "Overriding Version: v2.0", + "Overriding URL.Base: https://override.com", + "Overriding URL.Routes: [", + "Overriding URL.IncludeBase: true", + "Overriding ParseRules.Title: New Title", + "Overriding ParseRules.MetaDescription: New Meta", + "Overriding ParseRules.ArticleContent: New Content", + "Overriding ParseRules.Author: New Author", + "Overriding ParseRules.DatePublished: 2022-01-01", + "Overriding Storage.OutputFormats: [", + "Overriding Storage.SavePath: new_output/", + "Overriding Storage.FileName: new_data", + "Overriding ScrapingOptions.MaxDepth: 5", + "Overriding ScrapingOptions.RateLimit: 2", + "Overriding ScrapingOptions.RetryAttempts: 4", + "Overriding ScrapingOptions.UserAgent: OverrideAgent", + "Overriding DataFormatting.CleanWhitespace: true", + "Overriding DataFormatting.RemoveHTML: true", + } + for _, substr := range expectedSubstrs { + if !strings.Contains(captured, substr) { + t.Errorf("Expected output to contain '%s', got '%s'", substr, captured) + } + } +} + +// TestOverrideConfigNil tests that passing a ConfigOverride with all nil values does not change the config. +func TestOverrideConfigNil(t *testing.T) { + var captured string + patchColored := monkey.Patch(utils.PrintColored, func(a ...interface{}) { + captured += fmt.Sprint(a...) + }) + defer patchColored.Unpatch() + + // Create a base config with default values. + base := &Config{} + base.ApplyDefaults() + + // Create an override with all nil pointers. + overrides := ConfigOverride{} + + // Apply the override. + base.OverrideConfig(overrides) + + // Verify that no fields have changed (i.e. remain equal to their defaults). + defaultConfig := &Config{} + defaultConfig.ApplyDefaults() + + if !reflect.DeepEqual(base, defaultConfig) { + t.Errorf("Expected config to remain unchanged when overrides are nil. Got %+v, expected %+v", base, defaultConfig) + } + + // Since nothing is overridden, captured output should be empty. + if captured != "" { + t.Errorf("Expected no output from PrintColored when no overrides are applied, got '%s'", captured) } } From 1be941ba3a56f41e01d3f6019376d57bb9c3f727 Mon Sep 17 00:00:00 2001 From: Brennen Heinrich Date: Sun, 16 Feb 2025 16:53:39 -0600 Subject: [PATCH 47/47] Combining tests --- pkg/config/config_test.go | 353 +++++++++++++++++++------------------- 1 file changed, 178 insertions(+), 175 deletions(-) diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 457a4af..35124d1 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -296,188 +296,191 @@ func TestLoad(t *testing.T) { } } -// TestOverrideConfigFull tests the new OverrideConfig function using the ConfigOverride type. -// It creates a base config, applies a full override and verifies that all fields have been updated accordingly. -func TestOverrideConfigFull(t *testing.T) { - var captured string - patchColored := monkey.Patch(utils.PrintColored, func(a ...interface{}) { - captured += fmt.Sprint(a...) - }) - defer patchColored.Unpatch() - - // Create a base config with default values. - base := &Config{} - base.ApplyDefaults() +// TestOverrideConfig combines the previous TestOverrideConfigFull and TestOverrideConfigNil into a single test. +// It verifies that a full override updates all fields and that a nil override leaves the config unchanged. +func TestOverrideConfig(t *testing.T) { + cases := []struct { + desc string + overrideSetup func() ConfigOverride + validate func(t *testing.T, base *Config, captured string) + }{ + { + desc: "Full override applies all changes", + overrideSetup: func() ConfigOverride { + return ConfigOverride{ + Version: ptrString("v2.0"), + URL: &struct { + Base *string `json:"base"` + Routes *[]string `json:"routes"` + IncludeBase *bool `json:"includeBase"` + }{ + Base: ptrString("https://override.com"), + Routes: &[]string{"/new", "/extra"}, + IncludeBase: ptrBool(true), + }, + ParseRules: &struct { + Title *string `json:"title,omitempty"` + MetaDescription *string `json:"metaDescription,omitempty"` + ArticleContent *string `json:"articleContent,omitempty"` + Author *string `json:"author,omitempty"` + DatePublished *string `json:"datePublished,omitempty"` + }{ + Title: ptrString("New Title"), + MetaDescription: ptrString("New Meta"), + ArticleContent: ptrString("New Content"), + Author: ptrString("New Author"), + DatePublished: ptrString("2022-01-01"), + }, + Storage: &struct { + OutputFormats *[]string `json:"outputFormats"` + SavePath *string `json:"savePath"` + FileName *string `json:"fileName"` + }{ + OutputFormats: &[]string{"csv"}, + SavePath: ptrString("new_output/"), + FileName: ptrString("new_data"), + }, + ScrapingOptions: &struct { + MaxDepth *int `json:"maxDepth"` + RateLimit *float64 `json:"rateLimit"` + RetryAttempts *int `json:"retryAttempts"` + UserAgent *string `json:"userAgent"` + }{ + MaxDepth: ptrInt(5), + RateLimit: ptrFloat64(2.0), + RetryAttempts: ptrInt(4), + UserAgent: ptrString("OverrideAgent"), + }, + DataFormatting: &struct { + CleanWhitespace *bool `json:"cleanWhitespace"` + RemoveHTML *bool `json:"removeHTML"` + }{ + CleanWhitespace: ptrBool(true), + RemoveHTML: ptrBool(true), + }, + } + }, + validate: func(t *testing.T, base *Config, captured string) { + if base.Version != "v2.0" { + t.Errorf("Expected Version to be 'v2.0', got '%s'", base.Version) + } + if base.URL.Base != "https://override.com" { + t.Errorf("Expected URL.Base to be 'https://override.com', got '%s'", base.URL.Base) + } + if !reflect.DeepEqual(base.URL.Routes, []string{"/new", "/extra"}) { + t.Errorf("Expected URL.Routes to be ['/new', '/extra'], got %v", base.URL.Routes) + } + if !base.URL.IncludeBase { + t.Errorf("Expected URL.IncludeBase to be true") + } + if base.ParseRules.Title != "New Title" { + t.Errorf("Expected ParseRules.Title to be 'New Title', got '%s'", base.ParseRules.Title) + } + if base.ParseRules.MetaDescription != "New Meta" { + t.Errorf("Expected ParseRules.MetaDescription to be 'New Meta', got '%s'", base.ParseRules.MetaDescription) + } + if base.ParseRules.ArticleContent != "New Content" { + t.Errorf("Expected ParseRules.ArticleContent to be 'New Content', got '%s'", base.ParseRules.ArticleContent) + } + if base.ParseRules.Author != "New Author" { + t.Errorf("Expected ParseRules.Author to be 'New Author', got '%s'", base.ParseRules.Author) + } + if base.ParseRules.DatePublished != "2022-01-01" { + t.Errorf("Expected ParseRules.DatePublished to be '2022-01-01', got '%s'", base.ParseRules.DatePublished) + } + if !reflect.DeepEqual(base.Storage.OutputFormats, []string{"csv"}) { + t.Errorf("Expected Storage.OutputFormats to be ['csv'], got %v", base.Storage.OutputFormats) + } + if base.Storage.SavePath != "new_output/" { + t.Errorf("Expected Storage.SavePath to be 'new_output/', got '%s'", base.Storage.SavePath) + } + if base.Storage.FileName != "new_data" { + t.Errorf("Expected Storage.FileName to be 'new_data', got '%s'", base.Storage.FileName) + } + if base.ScrapingOptions.MaxDepth != 5 { + t.Errorf("Expected ScrapingOptions.MaxDepth to be 5, got %d", base.ScrapingOptions.MaxDepth) + } + if base.ScrapingOptions.RateLimit != 2.0 { + t.Errorf("Expected ScrapingOptions.RateLimit to be 2.0, got %f", base.ScrapingOptions.RateLimit) + } + if base.ScrapingOptions.RetryAttempts != 4 { + t.Errorf("Expected ScrapingOptions.RetryAttempts to be 4, got %d", base.ScrapingOptions.RetryAttempts) + } + if base.ScrapingOptions.UserAgent != "OverrideAgent" { + t.Errorf("Expected ScrapingOptions.UserAgent to be 'OverrideAgent', got '%s'", base.ScrapingOptions.UserAgent) + } + if !base.DataFormatting.CleanWhitespace { + t.Errorf("Expected DataFormatting.CleanWhitespace to be true") + } + if !base.DataFormatting.RemoveHTML { + t.Errorf("Expected DataFormatting.RemoveHTML to be true") + } - // Create an override with non-nil pointers for every field. - overrides := ConfigOverride{ - Version: ptrString("v2.0"), - URL: &struct { - Base *string `json:"base"` - Routes *[]string `json:"routes"` - IncludeBase *bool `json:"includeBase"` - }{ - Base: ptrString("https://override.com"), - Routes: &[]string{"/new", "/extra"}, - IncludeBase: ptrBool(true), - }, - ParseRules: &struct { - Title *string `json:"title,omitempty"` - MetaDescription *string `json:"metaDescription,omitempty"` - ArticleContent *string `json:"articleContent,omitempty"` - Author *string `json:"author,omitempty"` - DatePublished *string `json:"datePublished,omitempty"` - }{ - Title: ptrString("New Title"), - MetaDescription: ptrString("New Meta"), - ArticleContent: ptrString("New Content"), - Author: ptrString("New Author"), - DatePublished: ptrString("2022-01-01"), - }, - Storage: &struct { - OutputFormats *[]string `json:"outputFormats"` - SavePath *string `json:"savePath"` - FileName *string `json:"fileName"` - }{ - OutputFormats: &[]string{"csv"}, - SavePath: ptrString("new_output/"), - FileName: ptrString("new_data"), - }, - ScrapingOptions: &struct { - MaxDepth *int `json:"maxDepth"` - RateLimit *float64 `json:"rateLimit"` - RetryAttempts *int `json:"retryAttempts"` - UserAgent *string `json:"userAgent"` - }{ - MaxDepth: ptrInt(5), - RateLimit: ptrFloat64(2.0), - RetryAttempts: ptrInt(4), - UserAgent: ptrString("OverrideAgent"), + // Verify that PrintColored was called for each overridden field. + expectedSubstrs := []string{ + "Overriding Version: v2.0", + "Overriding URL.Base: https://override.com", + "Overriding URL.Routes: [", + "Overriding URL.IncludeBase: true", + "Overriding ParseRules.Title: New Title", + "Overriding ParseRules.MetaDescription: New Meta", + "Overriding ParseRules.ArticleContent: New Content", + "Overriding ParseRules.Author: New Author", + "Overriding ParseRules.DatePublished: 2022-01-01", + "Overriding Storage.OutputFormats: [", + "Overriding Storage.SavePath: new_output/", + "Overriding Storage.FileName: new_data", + "Overriding ScrapingOptions.MaxDepth: 5", + "Overriding ScrapingOptions.RateLimit: 2", + "Overriding ScrapingOptions.RetryAttempts: 4", + "Overriding ScrapingOptions.UserAgent: OverrideAgent", + "Overriding DataFormatting.CleanWhitespace: true", + "Overriding DataFormatting.RemoveHTML: true", + } + for _, substr := range expectedSubstrs { + if !strings.Contains(captured, substr) { + t.Errorf("Expected output to contain '%s', got '%s'", substr, captured) + } + } + }, }, - DataFormatting: &struct { - CleanWhitespace *bool `json:"cleanWhitespace"` - RemoveHTML *bool `json:"removeHTML"` - }{ - CleanWhitespace: ptrBool(true), - RemoveHTML: ptrBool(true), + { + desc: "Nil override leaves config unchanged", + overrideSetup: func() ConfigOverride { + return ConfigOverride{} + }, + validate: func(t *testing.T, base *Config, captured string) { + // Build a default config to compare. + defaultConfig := &Config{} + defaultConfig.ApplyDefaults() + if !reflect.DeepEqual(base, defaultConfig) { + t.Errorf("Expected config to remain unchanged when overrides are nil. Got %+v, expected %+v", base, defaultConfig) + } + // No PrintColored calls should be made. + if captured != "" { + t.Errorf("Expected no output from PrintColored when no overrides are applied, got '%s'", captured) + } + }, }, } - // Apply the override. - base.OverrideConfig(overrides) - - // Verify that each field has been updated. - if base.Version != "v2.0" { - t.Errorf("Expected Version to be 'v2.0', got '%s'", base.Version) - } - if base.URL.Base != "https://override.com" { - t.Errorf("Expected URL.Base to be 'https://override.com', got '%s'", base.URL.Base) - } - if !reflect.DeepEqual(base.URL.Routes, []string{"/new", "/extra"}) { - t.Errorf("Expected URL.Routes to be ['/new', '/extra'], got %v", base.URL.Routes) - } - if !base.URL.IncludeBase { - t.Errorf("Expected URL.IncludeBase to be true") - } - if base.ParseRules.Title != "New Title" { - t.Errorf("Expected ParseRules.Title to be 'New Title', got '%s'", base.ParseRules.Title) - } - if base.ParseRules.MetaDescription != "New Meta" { - t.Errorf("Expected ParseRules.MetaDescription to be 'New Meta', got '%s'", base.ParseRules.MetaDescription) - } - if base.ParseRules.ArticleContent != "New Content" { - t.Errorf("Expected ParseRules.ArticleContent to be 'New Content', got '%s'", base.ParseRules.ArticleContent) - } - if base.ParseRules.Author != "New Author" { - t.Errorf("Expected ParseRules.Author to be 'New Author', got '%s'", base.ParseRules.Author) - } - if base.ParseRules.DatePublished != "2022-01-01" { - t.Errorf("Expected ParseRules.DatePublished to be '2022-01-01', got '%s'", base.ParseRules.DatePublished) - } - if !reflect.DeepEqual(base.Storage.OutputFormats, []string{"csv"}) { - t.Errorf("Expected Storage.OutputFormats to be ['csv'], got %v", base.Storage.OutputFormats) - } - if base.Storage.SavePath != "new_output/" { - t.Errorf("Expected Storage.SavePath to be 'new_output/', got '%s'", base.Storage.SavePath) - } - if base.Storage.FileName != "new_data" { - t.Errorf("Expected Storage.FileName to be 'new_data', got '%s'", base.Storage.FileName) - } - if base.ScrapingOptions.MaxDepth != 5 { - t.Errorf("Expected ScrapingOptions.MaxDepth to be 5, got %d", base.ScrapingOptions.MaxDepth) - } - if base.ScrapingOptions.RateLimit != 2.0 { - t.Errorf("Expected ScrapingOptions.RateLimit to be 2.0, got %f", base.ScrapingOptions.RateLimit) - } - if base.ScrapingOptions.RetryAttempts != 4 { - t.Errorf("Expected ScrapingOptions.RetryAttempts to be 4, got %d", base.ScrapingOptions.RetryAttempts) - } - if base.ScrapingOptions.UserAgent != "OverrideAgent" { - t.Errorf("Expected ScrapingOptions.UserAgent to be 'OverrideAgent', got '%s'", base.ScrapingOptions.UserAgent) - } - if !base.DataFormatting.CleanWhitespace { - t.Errorf("Expected DataFormatting.CleanWhitespace to be true") - } - if !base.DataFormatting.RemoveHTML { - t.Errorf("Expected DataFormatting.RemoveHTML to be true") - } - - // Optionally, you can verify that PrintColored was called for each overridden field. - expectedSubstrs := []string{ - "Overriding Version: v2.0", - "Overriding URL.Base: https://override.com", - "Overriding URL.Routes: [", - "Overriding URL.IncludeBase: true", - "Overriding ParseRules.Title: New Title", - "Overriding ParseRules.MetaDescription: New Meta", - "Overriding ParseRules.ArticleContent: New Content", - "Overriding ParseRules.Author: New Author", - "Overriding ParseRules.DatePublished: 2022-01-01", - "Overriding Storage.OutputFormats: [", - "Overriding Storage.SavePath: new_output/", - "Overriding Storage.FileName: new_data", - "Overriding ScrapingOptions.MaxDepth: 5", - "Overriding ScrapingOptions.RateLimit: 2", - "Overriding ScrapingOptions.RetryAttempts: 4", - "Overriding ScrapingOptions.UserAgent: OverrideAgent", - "Overriding DataFormatting.CleanWhitespace: true", - "Overriding DataFormatting.RemoveHTML: true", - } - for _, substr := range expectedSubstrs { - if !strings.Contains(captured, substr) { - t.Errorf("Expected output to contain '%s', got '%s'", substr, captured) - } - } -} - -// TestOverrideConfigNil tests that passing a ConfigOverride with all nil values does not change the config. -func TestOverrideConfigNil(t *testing.T) { - var captured string - patchColored := monkey.Patch(utils.PrintColored, func(a ...interface{}) { - captured += fmt.Sprint(a...) - }) - defer patchColored.Unpatch() - - // Create a base config with default values. - base := &Config{} - base.ApplyDefaults() - - // Create an override with all nil pointers. - overrides := ConfigOverride{} - - // Apply the override. - base.OverrideConfig(overrides) + for _, tc := range cases { + t.Run(tc.desc, func(t *testing.T) { + var captured string + patchColored := monkey.Patch(utils.PrintColored, func(a ...interface{}) { + captured += fmt.Sprint(a...) + }) + defer patchColored.Unpatch() - // Verify that no fields have changed (i.e. remain equal to their defaults). - defaultConfig := &Config{} - defaultConfig.ApplyDefaults() + // Create a base config with defaults applied. + base := &Config{} + base.ApplyDefaults() - if !reflect.DeepEqual(base, defaultConfig) { - t.Errorf("Expected config to remain unchanged when overrides are nil. Got %+v, expected %+v", base, defaultConfig) - } + // Apply the override from this test case. + override := tc.overrideSetup() + base.OverrideConfig(override) - // Since nothing is overridden, captured output should be empty. - if captured != "" { - t.Errorf("Expected no output from PrintColored when no overrides are applied, got '%s'", captured) + tc.validate(t, base, captured) + }) } }