summaryrefslogtreecommitdiff
path: root/test/rubygems
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems')
-rw-r--r--test/rubygems/test_gem_package_old.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_package_old.rb b/test/rubygems/test_gem_package_old.rb
index 20d9837a83..e0884348e5 100644
--- a/test/rubygems/test_gem_package_old.rb
+++ b/test/rubygems/test_gem_package_old.rb
@@ -18,6 +18,14 @@ class TestGemPackageOld < Gem::TestCase
assert_equal %w[lib/foo.rb lib/test.rb lib/test/wow.rb], @package.contents
end
+ def test_contents_security_policy
+ @package.security_policy = Gem::Security::AlmostNoSecurity
+
+ assert_raises Gem::Security::Exception do
+ @package.contents
+ end
+ end
+
def test_extract_files
@package.extract_files @destination
@@ -29,9 +37,43 @@ class TestGemPackageOld < Gem::TestCase
assert_equal mask, File.stat(extracted).mode unless win_platform?
end
+ def test_extract_files_security_policy
+ @package.security_policy = Gem::Security::AlmostNoSecurity
+
+ assert_raises Gem::Security::Exception do
+ @package.extract_files @destination
+ end
+ end
+
def test_spec
assert_equal 'testing', @package.spec.name
end
+ def test_spec_security_policy
+ @package.security_policy = Gem::Security::AlmostNoSecurity
+
+ assert_raises Gem::Security::Exception do
+ @package.spec
+ end
+ end
+
+ def test_verify
+ assert @package.verify
+
+ @package.security_policy = Gem::Security::NoSecurity
+
+ assert @package.verify
+
+ @package.security_policy = Gem::Security::AlmostNoSecurity
+
+ e = assert_raises Gem::Security::Exception do
+ @package.verify
+ end
+
+ assert_equal 'old format gems do not contain signatures ' +
+ 'and cannot be verified',
+ e.message
+ end
+
end