Compare commits

...

4 commits

Author SHA1 Message Date
cff8d507b3
Merge pull request #96 from wneessen/dependabot/github_actions/codecov/codecov-action-4.1.1
Bump codecov/codecov-action from 4.1.0 to 4.1.1
2024-03-26 20:51:24 +01:00
dependabot[bot]
ef2f27c35f
Bump codecov/codecov-action from 4.1.0 to 4.1.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](54bcd8715e...c16abc29c9)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-26 19:46:28 +00:00
54c76b370e
Merge pull request #95 from wneessen/more_test-coverage
Add new test cases and rearrange existing ones
2024-03-26 19:55:08 +01:00
2a6ebbce8f
Add new test cases and rearrange existing ones
Additional tests are added for testing the random string generator using specialized config options. The code changes also include a rearrangement of certain existing tests to ensure more efficient coverage and logical consistency.
2024-03-26 19:52:36 +01:00
2 changed files with 53 additions and 31 deletions

View file

@ -40,6 +40,6 @@ jobs:
go test -v -race --coverprofile=coverage.coverprofile --covermode=atomic ./...
- name: Upload coverage to Codecov
if: success() && matrix.go == '1.22' && matrix.os == 'ubuntu-latest'
uses: codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab # v4.1.0
uses: codecov/codecov-action@c16abc29c95fcf9174b58eb7e1abf4c866893bc8 # v4.1.1
with:
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos

View file

@ -523,36 +523,13 @@ func TestGenerate(t *testing.T) {
}
}
func BenchmarkGenerator_CoinFlip(b *testing.B) {
b.ReportAllocs()
g := New(NewConfig())
for i := 0; i < b.N; i++ {
_ = g.CoinFlip()
}
}
func BenchmarkGenerator_RandomBytes(b *testing.B) {
b.ReportAllocs()
g := New(NewConfig())
var l int64 = 1024
for i := 0; i < b.N; i++ {
_, err := g.RandomBytes(l)
if err != nil {
b.Errorf("failed to generate random bytes: %s", err)
return
}
}
}
func BenchmarkGenerator_RandomString(b *testing.B) {
b.ReportAllocs()
g := New(NewConfig())
cr := CharRangeAlphaUpper + CharRangeAlphaLower + CharRangeNumeric + CharRangeSpecial
for i := 0; i < b.N; i++ {
_, err := g.RandomStringFromCharRange(32, cr)
if err != nil {
b.Errorf("RandomStringFromCharRange() failed: %s", err)
}
func TestGenerator_RandomStringFromCharRange_fail(t *testing.T) {
config := NewConfig()
gen := New(config)
_, err := gen.RandomStringFromCharRange(0, gen.GetCharRangeFromConfig())
if err == nil {
t.Errorf("RandomStringFromCharRange() with zero length is supposed" +
"to fail, but didn't")
}
}
@ -590,3 +567,48 @@ func TestGenerator_generateBinary(t *testing.T) {
})
}
}
func TestGenerator_checkMinimumRequirements_human(t *testing.T) {
config := NewConfig(WithModeMask(ModeLowerCase|ModeUpperCase|ModeNumeric|
ModeSpecial|ModeHumanReadable), WithMinLowercase(1), WithMinUppercase(1),
WithMinNumeric(1), WithMinSpecial(1))
gen := New(config)
pw, err := gen.Generate()
if err != nil {
t.Errorf("Generate() failed: %s", err)
}
_ = gen.checkMinimumRequirements(pw)
}
func BenchmarkGenerator_CoinFlip(b *testing.B) {
b.ReportAllocs()
g := New(NewConfig())
for i := 0; i < b.N; i++ {
_ = g.CoinFlip()
}
}
func BenchmarkGenerator_RandomBytes(b *testing.B) {
b.ReportAllocs()
g := New(NewConfig())
var l int64 = 1024
for i := 0; i < b.N; i++ {
_, err := g.RandomBytes(l)
if err != nil {
b.Errorf("failed to generate random bytes: %s", err)
return
}
}
}
func BenchmarkGenerator_RandomString(b *testing.B) {
b.ReportAllocs()
g := New(NewConfig())
cr := CharRangeAlphaUpper + CharRangeAlphaLower + CharRangeNumeric + CharRangeSpecial
for i := 0; i < b.N; i++ {
_, err := g.RandomStringFromCharRange(32, cr)
if err != nil {
b.Errorf("RandomStringFromCharRange() failed: %s", err)
}
}
}