diff --git a/test/squid_acl_test.rb b/test/squid_acl_test.rb new file mode 100644 index 0000000..ed921df --- /dev/null +++ b/test/squid_acl_test.rb @@ -0,0 +1,39 @@ +#! /usr/bin/env rspec + +require_relative "./test_helper" + +Yast.import "SquidACL" + +describe "Yast::SquidACL" do + subject { Yast::SquidACL } + + let(:acls) do + [ + "arp", "browser", "dst", "dstdom_regex", "dstdomain", "maxconn", "method", + "myip", "myport", "port", "proto", "referer_regex", "rep_header", "rep_mime_type", + "req_header", "req_mime_type", "src", "srcdom_regex", "srcdomain", "time", + "url_regex", "urlpath_regex" + ] + end + + describe ".SupportedACLs" do + it "returns the full list of ACLs" do + expect(subject.SupportedACLs).to contain_exactly(*acls) + end + end + + describe ".GetTypesToComboBox" do + it "returns an array of item terms" do + result = subject.GetTypesToComboBox + expect(result).to be_a Array + expect(result).to all be_a(Yast::Term) + expect(result.map(&:value)).to all eq(:item) + end + + it "includes one item per each ACL" do + result = subject.GetTypesToComboBox + values = result.map { |item| item.params[1] } + expect(values).to contain_exactly(*acls) + end + end +end diff --git a/testsuite/tests/SquidACL.err b/testsuite/tests/SquidACL.err deleted file mode 100644 index e69de29..0000000 diff --git a/testsuite/tests/SquidACL.out b/testsuite/tests/SquidACL.out deleted file mode 100644 index a5e9991..0000000 --- a/testsuite/tests/SquidACL.out +++ /dev/null @@ -1,4 +0,0 @@ -Dump SupportedACLs() -Return ["arp", "browser", "dst", "dstdom_regex", "dstdomain", "maxconn", "method", "myip", "myport", "port", "proto", "referer_regex", "rep_header", "rep_mime_type", "req_header", "req_mime_type", "src", "srcdom_regex", "srcdomain", "time", "url_regex", "urlpath_regex"] -Dump GetTypesToComboBox() -Return [`item (`id ("arp"), "arp"), `item (`id ("browser"), "browser"), `item (`id ("dst"), "dst"), `item (`id ("dstdom_regex"), "dstdom_regex"), `item (`id ("dstdomain"), "dstdomain"), `item (`id ("maxconn"), "maxconn"), `item (`id ("method"), "method"), `item (`id ("myip"), "myip"), `item (`id ("myport"), "myport"), `item (`id ("port"), "port"), `item (`id ("proto"), "proto"), `item (`id ("referer_regex"), "referer_regex"), `item (`id ("rep_header"), "rep_header"), `item (`id ("rep_mime_type"), "rep_mime_type"), `item (`id ("req_header"), "req_header"), `item (`id ("req_mime_type"), "req_mime_type"), `item (`id ("src"), "src"), `item (`id ("srcdom_regex"), "srcdom_regex"), `item (`id ("srcdomain"), "srcdomain"), `item (`id ("time"), "time"), `item (`id ("url_regex"), "url_regex"), `item (`id ("urlpath_regex"), "urlpath_regex")] diff --git a/testsuite/tests/SquidACL.rb b/testsuite/tests/SquidACL.rb deleted file mode 100644 index fbc1847..0000000 --- a/testsuite/tests/SquidACL.rb +++ /dev/null @@ -1,60 +0,0 @@ -# encoding: utf-8 - -module Yast - class SquidACLClient < Client - def main - # testedfiles: SquidACL.ycp - @read = { - "squid" => { - "acl" => [ - "QUERY urlpath_regex cgi-bin \\?", - "apache rep_header Server ^Apache", - "all src 0.0.0.0/0.0.0.0", - "manager proto cache_object", - "localhost src \t \t 127.0.0.1/255.255.255.255", - "localhost_public src 10.20.1.241/255.255.255.255", - "to_localhost dst 127.0.0.0/8", - "SSL_ports port 443", - "Safe_ports port 80", - "Safe_ports port 21", - "Safe_ports port 443", - "Safe_ports port 70", - "Safe_ports port 210", - "Safe_ports port 1025-65535", - "Safe_ports port 280", - "Safe_ports port 488", - "Safe_ports port 591", - "Safe_ports port 777", - "CONNECT method CONNECT" - ], - "http_access" => [ - "allow manager localhost", - "deny manager", - "deny !Safe_ports", - "deny CONNECT !SSL_ports", - "allow localhost", - "allow localhost_public", - "deny all" - ] - } - } - - @write = {} - @execute = {} - - Yast.include self, "testsuite.rb" - # TESTSUITE_INIT([READ,WRITE,EXECUTE], nil); - - Yast.import "SquidACL" - - DUMP("SupportedACLs()") - TEST(-> { SquidACL.SupportedACLs }, [], nil) - DUMP("GetTypesToComboBox()") - TEST(-> { SquidACL.GetTypesToComboBox }, [], nil) - - nil - end - end -end - -Yast::SquidACLClient.new.main