| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- use strict;
- use warnings;
- use Test::More "tests" => 20;
- #check plan mode
- my @args = ($^X,qw{bin/testrail-tests --apiurl http://testrail.local --user "test@fake.fake" --password "fake" -j TestProject -p "GosPlan" -r "Executing the great plan" -m t --config testConfig --mock --no-recurse});
- my $out = `@args`;
- is($? >> 8, 0, "Exit code OK running plan mode, no recurse");
- chomp $out;
- like($out,qr/skipall\.test$/,"Gets test correctly in plan mode, no recurse");
- @args = ($^X,qw{bin/testrail-tests --apiurl http://testrail.local --user "test@fake.fake" --password "fake" -j TestProject -p "GosPlan" -r "Executing the great plan" --config testConfig -m t --mock});
- $out = `@args`;
- is($? >> 8, 0, "Exit code OK running plan mode, recurse");
- chomp $out;
- like($out,qr/skipall\.test$/,"Gets test correctly in plan mode, recurse");
- #check non plan mode
- @args = ($^X,qw{bin/testrail-tests --apiurl http://testrail.local --user "test@fake.fake" --password "fake" -j TestProject -r "TestingSuite" -m t --mock --no-recurse});
- $out = `@args`;
- is($? >> 8, 0, "Exit code OK running no plan mode, no recurse");
- chomp $out;
- like($out,qr/skipall\.test$/,"Gets test correctly in no plan mode, no recurse");
- @args = ($^X,qw{bin/testrail-tests --apiurl http://testrail.local --user "test@fake.fake" --password "fake" -j TestProject -r "TestingSuite" -m t --mock});
- $out = `@args`;
- is($? >> 8, 0, "Exit code OK running no plan mode, recurse");
- chomp $out;
- like($out,qr/skipall\.test$/,"Gets test correctly in no plan mode, recurse");
- #Negative case, filtering by config
- @args = ($^X,qw{bin/testrail-tests --apiurl http://testrail.local --user "test@fake.fake" --password "fake" -j TestProject -p "GosPlan" -r "Executing the great plan" -m t --mock --config testPlatform1});
- $out = `@args`;
- isnt($? >> 8, 0, "Exit code not OK when passing invalid configs for plan");
- chomp $out;
- like($out,qr/no such run/i,"Gets test correctly in plan mode, recurse");
- #check assignedto filters
- @args = ($^X,qw{bin/testrail-tests --apiurl http://testrail.local --user "test@fake.fake" --password "fake" -j TestProject -p "GosPlan" -r "Executing the great plan" --mock --config "testConfig" --assignedto teodesian});
- $out = `@args`;
- is($? >> 8, 0, "Exit code OK when filtering by assignment");
- like($out,qr/skipall\.test$/,"Gets test correctly when filtering by assignment");
- @args = ($^X,qw{bin/testrail-tests --apiurl http://testrail.local --user "test@fake.fake" --password "fake" -j TestProject -p "GosPlan" -r "Executing the great plan" --mock --config "testConfig" --assignedto billy});
- $out = `@args`;
- is($? >> 8, 0, "Exit code OK when filtering by assignement");
- chomp $out;
- is($out,"","Gets no tests correctly when filtering by wrong assignment");
- #check status filters
- @args = ($^X,qw{bin/testrail-tests --apiurl http://testrail.local --user "test@fake.fake" --password "fake" -j TestProject -p "GosPlan" -r "Executing the great plan" -m t --mock --config "testConfig" --status "passed"});
- $out = `@args`;
- is($? >> 8, 0, "Exit code OK when filtering by status");
- like($out,qr/skipall\.test$/,"Gets test correctly when filtering by status");
- @args = ($^X,qw{bin/testrail-tests --apiurl http://testrail.local --user "test@fake.fake" --password "fake" -j TestProject -p "GosPlan" -r "Executing the great plan" --mock --config "testConfig" --status "failed"});
- $out = `@args`;
- is($? >> 8, 0, "Exit code OK when filtering by status");
- chomp $out;
- is($out,"","Gets no tests correctly when filtering by wrong status");
- #Verify no-match returns non path
- @args = ($^X,qw{bin/testrail-tests --apiurl http://testrail.local --user "test@fake.fake" --password "fake" -j TestProject -r "TestingSuite" --mock});
- $out = `@args`;
- is($? >> 8, 0, "Exit code OK running no plan mode, no recurse");
- chomp $out;
- like($out,qr/\nskipall\.test$/,"Gets test correctly in no plan mode, no recurse");
|