mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 16:59:12 +00:00

* factor out test helpers * refactor, add tests for animebytes * revert test refactor * better name * change format, migrate some examples * migrated remaining test cases * add comment about `Test` vs `Tests` * refactor * reorder expectations to match vars * generate * turn on strict unmarshalling, remove old `Test` from schema * start modifying actual definitions * done with the As * Bs * C, D * E, F * G, H, I, ... L * M, N * O, P * R * bonus error. without this, pattern/vars disagreement can panic. * S * T, U * X.. Now we know our ABCs next time won't you sing with meeeee * fix another test * another driveby change * be less strict parsing custom definitions * fix(definitions): load custom definitions --------- Co-authored-by: ze0s <ze0s@riseup.net>
35 lines
768 B
Go
35 lines
768 B
Go
package indexer
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/autobrr/autobrr/internal/domain"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestYamlExpectations(t *testing.T) {
|
|
s := &service{definitions: map[string]domain.IndexerDefinition{}}
|
|
err := s.LoadIndexerDefinitions()
|
|
|
|
assert.Nil(t, err)
|
|
|
|
for _, d := range s.definitions {
|
|
if d.IRC == nil {
|
|
continue
|
|
}
|
|
if d.IRC.Parse == nil {
|
|
continue
|
|
}
|
|
if d.IRC.Parse.Lines == nil {
|
|
continue
|
|
}
|
|
|
|
for _, parseLine := range d.IRC.Parse.Lines {
|
|
for i, test := range parseLine.Tests {
|
|
parseOutput := map[string]string{}
|
|
ParseLine(nil, parseLine.Pattern, parseLine.Vars, parseOutput, test.Line, parseLine.Ignore)
|
|
assert.Equal(t, test.Expect, parseOutput, "error in expectation %d", i)
|
|
}
|
|
}
|
|
}
|
|
}
|