Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
76d287e
docs: add comprehensive test coverage improvement plan
timimsms Jul 9, 2025
b81c244
build: add testify dependency for testing
timimsms Jul 9, 2025
940f6d9
feat: implement authentication mock infrastructure
timimsms Jul 9, 2025
c52ff67
test: add initial auth package tests using mock infrastructure
timimsms Jul 9, 2025
bf65409
docs: add Phase 1 completion summary
timimsms Jul 9, 2025
aff2903
fix: resolve gosec G101 false positives in test fixtures
timimsms Jul 9, 2025
1c52cb7
docs: add security scan visibility improvements
timimsms Jul 9, 2025
063bbd6
feat: implement API client mock infrastructure
timimsms Jul 10, 2025
095dc34
test: add config command tests
timimsms Jul 10, 2025
5ff7b54
test: add task and list command tests
timimsms Jul 10, 2025
306f9d6
docs: add Phase 2 command testing progress summary
timimsms Jul 10, 2025
52d0075
test: add command structure tests for Phase 2
timimsms Jul 10, 2025
a12bbc1
docs: add revised test coverage improvement plan
timimsms Jul 10, 2025
ddd5e6f
test: add comprehensive API package tests (Phase 3)
timimsms Jul 10, 2025
0f66b23
test: add comprehensive auth package tests
timimsms Jul 10, 2025
225611e
test: enhance cache package tests to 92.1% coverage
timimsms Jul 10, 2025
037cecc
test: enhance config package tests to 94.4% coverage
timimsms Jul 10, 2025
548c36d
docs: add Phase 3 achievement report and Phase 4 architectural analysis
timimsms Jul 10, 2025
e63a53f
feat: add interface definitions for dependency injection
timimsms Jul 10, 2025
1499fbe
feat: implement base command with dependency injection
timimsms Jul 10, 2025
0ef8542
test: add mock implementations for testing
timimsms Jul 10, 2025
b065f01
feat: implement command factory and version command POC
timimsms Jul 10, 2025
090d7b0
docs: add command refactoring POC and Phase 5 plan
timimsms Jul 10, 2025
2b45b5b
refactor(completion): migrate to dependency injection pattern
timimsms Jul 10, 2025
6713051
refactor(interactive): migrate to dependency injection pattern
timimsms Jul 10, 2025
8a1aa6e
refactor(config): migrate to dependency injection pattern
timimsms Jul 11, 2025
39546e5
refactor(root): migrate root command to dependency injection pattern
timimsms Jul 11, 2025
304f716
refactor(task): migrate to dependency injection pattern
timimsms Jul 11, 2025
7f9b7d9
refactor(space): migrate to dependency injection pattern
timimsms Jul 11, 2025
6718665
feat: enhance mock infrastructure for command testing
timimsms Jul 12, 2025
844a2f8
feat: refactor list command with dependency injection
timimsms Jul 12, 2025
2bf738a
feat: refactor user command with dependency injection
timimsms Jul 12, 2025
6a21889
feat: refactor auth command with dependency injection
timimsms Jul 12, 2025
be76f39
feat: integrate new commands into factory
timimsms Jul 12, 2025
0ea995e
feat: implement bulk command with comprehensive operations
timimsms Jul 14, 2025
c350c42
feat: implement export command with multiple output formats
timimsms Jul 14, 2025
8f7e640
feat: integrate bulk and export commands into factory
timimsms Jul 14, 2025
4035968
feat: add comprehensive integration tests for command factory
timimsms Jul 15, 2025
aaf8355
feat: add performance benchmarks for factory pattern
timimsms Jul 15, 2025
28626b1
docs: add enhancement process and import functionality analysis
timimsms Jul 15, 2025
e15b758
fix: resolve CI pipeline compilation failures
timimsms Jul 15, 2025
2ae8030
fix: resolve remaining test compilation issues
timimsms Jul 15, 2025
f1f82fe
chore: linter fixes
timimsms Jul 17, 2025
d5f3ffb
chore: linter fixes
timimsms Jul 17, 2025
504602c
chore: linter fixes
timimsms Jul 17, 2025
9a97fec
chore: linter fixes
timimsms Jul 17, 2025
3e87f48
chore: linter fixes
timimsms Jul 17, 2025
744b772
chore: linter fixes
timimsms Jul 19, 2025
dfa5bdd
fix: resolve all failing tests in CI pipeline
timimsms Jul 20, 2025
af7683e
fix: resolve Windows-specific test failures
timimsms Jul 21, 2025
bda01b9
fix: resolve Windows-specific test failures
timimsms Jul 21, 2025
d32263a
feat: enhance CI test visibility and fix remaining Windows tests
timimsms Jul 22, 2025
a451968
fix: resolve CI workflow issues
timimsms Jul 22, 2025
8a0801a
fix: correct gosec module path to github.com/securego/gosec/v2/cmd/gosec
timimsms Jul 22, 2025
ad4f080
fix: remove unsupported -timeout flag from gosec command
timimsms Jul 22, 2025
69babcb
fix: suppress gosec false positives in test code
timimsms Jul 23, 2025
d5034ec
feat: consolidate and enhance security scan in main CI workflow
timimsms Jul 23, 2025
1240f9e
feat: add comprehensive code coverage reporting to CI
timimsms Jul 23, 2025
43088f3
fix: use cross-platform arithmetic for coverage badge colors
timimsms Jul 23, 2025
41231d8
fix: disable coverage calculation on Windows
timimsms Jul 23, 2025
0343446
fix: isolate Windows-incompatible coverage steps
timimsms Jul 23, 2025
3f06f07
feat(api): enhance API client test coverage with comprehensive test s…
timimsms Jul 23, 2025
8518946
feat(output): add comprehensive test suite for output formatting
timimsms Jul 23, 2025
e69a369
feat(cmd): add tests for command execution and configuration
timimsms Jul 23, 2025
8081650
feat(cmd): add comprehensive cache management tests
timimsms Jul 23, 2025
000c97a
feat(cmd): add comprehensive comment management tests
timimsms Jul 23, 2025
ddb16fc
feat(cmd): add comprehensive tests for task helper functions
timimsms Jul 23, 2025
2c1dae7
fix(api): resolve linter issues in API client tests
timimsms Jul 23, 2025
535972d
fix(cmd): resolve linter issues in command layer tests
timimsms Jul 23, 2025
e5bc171
fix(output): resolve linter issues in output formatting tests
timimsms Jul 23, 2025
09af6bd
feat: improve API client test coverage from 0% to 66.7%
timimsms Jul 23, 2025
ee15d0b
fix: resolve linter issues in API client interface tests
timimsms Jul 23, 2025
99cc8d5
fix: separate Windows and Unix test commands in CI
timimsms Jul 23, 2025
cd2089c
fix: remove test failure suppression in CI
timimsms Jul 24, 2025
0039957
fix: ensure CI properly fails when tests fail
timimsms Jul 24, 2025
82d9c8a
fix: improve Windows CI compatibility and test failure handling
timimsms Jul 24, 2025
e565e90
fix: improve Windows test result capture in CI
timimsms Jul 24, 2025
198c5ad
fix: prevent false positive test results when tests are skipped
timimsms Jul 24, 2025
31d862b
fix: remove dorny/test-reporter to eliminate false positive test results
timimsms Jul 24, 2025
350874f
fix(api): resolve rate limiter context cancellation in tests
timimsms Jul 24, 2025
f4b9f8e
refactor(api): remove invalid ID validation tests
timimsms Jul 24, 2025
96c303e
feat(output): enhance CSV formatter with struct support
timimsms Jul 24, 2025
5bd2136
fix(output): improve table formatter struct handling
timimsms Jul 24, 2025
40744f2
fix(output): resolve color output capture in wrapper tests
timimsms Jul 24, 2025
cad1888
fix(ci): improve test reporting and skip handling in GitHub Actions
timimsms Jul 24, 2025
918a1e5
fix(ci): resolve test status check handling skipped vs failed states
timimsms Jul 24, 2025
d1ef791
fix(ci): improve test failure detection using JSON parsing
timimsms Jul 24, 2025
ee613a8
fix(ci): add Windows-specific test failure detection
timimsms Jul 24, 2025
0916489
fix(ci): improve Windows test debugging and env var handling
timimsms Jul 24, 2025
0a1192c
test: improve test coverage from ~72.9% to 78.0%
timimsms Jul 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/enhancement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Enhancement Request
about: Suggest an enhancement or new feature for cu CLI
title: '[ENHANCEMENT] '
labels: enhancement
assignees: ''

---

## Enhancement Description
A clear and concise description of the enhancement you'd like to see.

## Use Case
Describe the specific use case or problem this enhancement would solve.

## Proposed Solution
A clear and concise description of what you want to happen.

## Alternatives Considered
A clear and concise description of any alternative solutions or features you've considered.

## Additional Context
Add any other context, screenshots, or examples about the enhancement request here.

## Impact
- [ ] Breaking change (would cause existing functionality to not work as expected)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Performance improvement
- [ ] Developer experience improvement
- [ ] Documentation improvement

## Implementation Considerations
Any technical considerations, constraints, or implementation details that should be considered.
12 changes: 12 additions & 0 deletions .github/coverage-exclusions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Coverage Exclusions
# This file documents intentional coverage exclusions

# Main entry point - trivial bootstrap code
cmd/cu/main.go

# Generated files
*.pb.go
*_generated.go

# Test files themselves
*_test.go
43 changes: 43 additions & 0 deletions .github/problem-matchers/go-test.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"problemMatcher": [
{
"owner": "go-test",
"pattern": [
{
"regexp": "^\\s*(.+\\.go):(\\d+):\\s+(.+)$",
"file": 1,
"line": 2,
"message": 3
}
]
},
{
"owner": "go-panic",
"pattern": [
{
"regexp": "^panic: (.+)$",
"message": 1
},
{
"regexp": "^\\s+(.+\\.go):(\\d+)",
"file": 1,
"line": 2
}
]
},
{
"owner": "go-test-fail",
"pattern": [
{
"regexp": "^\\s+([^:]+_test\\.go):(\\d+):",
"file": 1,
"line": 2
},
{
"regexp": "^\\s+Error:\\s+(.+)$",
"message": 1
}
]
}
]
}
120 changes: 120 additions & 0 deletions .github/scripts/test-summary.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
#!/bin/bash

# Parse test results and create a summary for GitHub Actions

set -euo pipefail

# Check if jq is available
if ! command -v jq &> /dev/null; then
echo "jq is not available, installing..."
sudo apt-get update && sudo apt-get install -y jq || true
fi

JSON_FILE="${1:-test-results.json}"
OUTPUT_FILE="${2:-$GITHUB_STEP_SUMMARY}"

# Initialize counters
total_tests=0
passed_tests=0
failed_tests=0
skipped_tests=0

# Arrays to store failures
declare -a failures

# Parse JSON test results
if [[ -f "$JSON_FILE" ]]; then
while IFS= read -r line; do
# Skip empty lines
[[ -z "$line" ]] && continue

# Extract test information
action=$(echo "$line" | jq -r '.Action // empty' 2>/dev/null || echo "")
package=$(echo "$line" | jq -r '.Package // empty' 2>/dev/null || echo "")
test=$(echo "$line" | jq -r '.Test // empty' 2>/dev/null || echo "")
output=$(echo "$line" | jq -r '.Output // empty' 2>/dev/null || echo "")

case "$action" in
"pass")
((passed_tests++))
((total_tests++))
;;
"fail")
if [[ -n "$test" ]]; then
((failed_tests++))
((total_tests++))
failures+=("$package - $test")
fi
;;
"skip")
((skipped_tests++))
((total_tests++))
;;
"output")
# Only capture panic or error output from failed tests, not skipped ones
# Check if this output belongs to a failed test
if [[ -n "$test" ]] && [[ "$output" =~ "panic:" ]]; then
failures+=(" └─ $output")
fi
;;
esac
done < "$JSON_FILE"
fi

# Generate summary
{
echo "## πŸ“Š Test Results Summary"
echo ""
echo "| Metric | Count |"
echo "|--------|-------|"
echo "| Total Tests | $total_tests |"
echo "| βœ… Passed | $passed_tests |"
echo "| ❌ Failed | $failed_tests |"
echo "| ⏭️ Skipped | $skipped_tests |"
echo ""

if [[ $failed_tests -gt 0 ]]; then
echo "### ❌ Failed Tests"
echo ""
echo "<details>"
echo "<summary>Click to expand failed test details</summary>"
echo ""
echo '```'
for failure in "${failures[@]}"; do
echo "$failure"
done
echo '```'
echo "</details>"
echo ""
fi

# Calculate pass rate
if [[ $total_tests -gt 0 ]]; then
pass_rate=$(( (passed_tests * 100) / total_tests ))
echo "### πŸ“ˆ Pass Rate: ${pass_rate}%"
echo ""

# Progress bar
echo "<div align=\"center\">"
echo ""
echo '```'
printf "["
filled=$(( pass_rate / 2 ))
for ((i=0; i<50; i++)); do
if [[ $i -lt $filled ]]; then
printf "β–ˆ"
else
printf "β–‘"
fi
done
printf "] %d%%\n" "$pass_rate"
echo '```'
echo ""
echo "</div>"
fi
} >> "$OUTPUT_FILE"

# Exit with error if tests failed
if [[ $failed_tests -gt 0 ]]; then
exit 1
fi
Loading
Loading