Skip to content

Commit

Permalink
Merge f49c1b7 into 93296fd
Browse files Browse the repository at this point in the history
  • Loading branch information
parthaa committed Aug 30, 2018
2 parents 93296fd + f49c1b7 commit 020268f
Show file tree
Hide file tree
Showing 345 changed files with 143,873 additions and 27,505 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

Exposing Pulp's juiciest parts. http://www.pulpproject.org/

Latest Live Tested Version: **pulp-server-2.14.0-1.el7.noarch**
Latest Live Tested Version: **pulp-server-2.17.0-0.1.beta.el7.noarch**

Current stable Runcible: https://github.com/Katello/runcible/tree/0.3

Expand Down
9 changes: 9 additions & 0 deletions lib/runcible/extensions/module.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module Runcible
module Extensions
class Module < Runcible::Extensions::Unit
def self.content_type
'modulemd'
end
end
end
end
9 changes: 9 additions & 0 deletions lib/runcible/extensions/module_default.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module Runcible
module Extensions
class ModuleDefault < Runcible::Extensions::Unit
def self.content_type
'modulemd_defaults'
end
end
end
end
96 changes: 96 additions & 0 deletions test/extensions/module_default_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
require 'rubygems'
require 'minitest/autorun'

require './lib/runcible'
require './test/extensions/unit_base'
require './test/support/repository_support'

module Extensions
class TestModuleDefaults < MiniTest::Unit::TestCase
def self.before_suite
self.support = RepositorySupport.new
@@extension = TestRuncible.server.extensions.module_default
self.support.create_and_sync_repo(:importer => true)
end

def self.after_suite
self.support.destroy_repo
end

def test_content_type
assert_equal 'modulemd_defaults', @@extension.content_type
end

def test_all
response = @@extension.all

assert_equal 200, response.code
refute_empty response
end

def test_find
id = @@extension.all.sort_by { |p| p['id'] }.first['id']
response = @@extension.find(id)

refute_empty response
assert_equal id, response['id']
end

def test_find_by_unit_id
id = @@extension.all.sort_by { |p| p['id'] }.first['_id']
response = @@extension.find_by_unit_id(id)

refute_empty response
assert_equal id, response['_id']
end

def test_find_unknown
response = @@extension.find_all(['f'])

assert_empty response
end

def test_find_all
pkgs = @@extension.all.sort_by { |p| p['id'] }
ids = pkgs.map { |p| p['id'] }
response = @@extension.find_all(ids)

assert_equal 200, response.code
assert_equal ids.length, response.length
end

def test_find_all_by_unit_ids
id = @@extension.all.sort_by { |p| p['id'] }.first['_id']
response = @@extension.find_all_by_unit_ids([id])

refute_empty response
assert_equal id, response.first['_id']
end

def test_find_all_by_unit_ids_no_repos
pkgs = @@extension.all.sort_by { |p| p['_id'] }
ids = pkgs[0..2].map { |p| p['_id'] }
response = @@extension.find_all_by_unit_ids(ids, [:name], :include_repos => false)

assert_equal 200, response.code
assert_nil response.first[:repository_memberships]
end
end

class TestModuleDefaultCopy < UnitCopyBase
def self.extension_class
TestRuncible.server.extensions.module_default
end

def test_copy
response = self.class.extension_class.copy(RepositorySupport.repo_id, self.class.clone_name)
tasks = assert_async_response(response)

clone_ids = unit_ids(self.class.clone_name)
original_ids = unit_ids(RepositorySupport.repo_id)

assert_includes tasks.first['tags'], 'pulp:action:associate'
assert_equal original_ids.length, clone_ids.length
end
end
end
118 changes: 118 additions & 0 deletions test/extensions/module_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
require 'rubygems'
require 'minitest/autorun'

require './lib/runcible'
require './test/extensions/unit_base'
require './test/support/repository_support'

module Extensions
class TestModule < MiniTest::Unit::TestCase
def self.before_suite
self.support = RepositorySupport.new
@@extension = TestRuncible.server.extensions.module
self.support.create_and_sync_repo(:importer => true)
end

def self.after_suite
self.support.destroy_repo
end

def test_content_type
assert_equal 'modulemd', @@extension.content_type
end

def test_all
response = @@extension.all

assert_equal 200, response.code
refute_empty response
end

def test_find
id = @@extension.all.sort_by { |p| p['id'] }.first['id']
response = @@extension.find(id)

refute_empty response
assert_equal id, response['id']
end

def test_find_by_unit_id
id = @@extension.all.sort_by { |p| p['id'] }.first['_id']
response = @@extension.find_by_unit_id(id)

refute_empty response
assert_equal id, response['_id']
end

def test_find_unknown
response = @@extension.find_all(['f'])

assert_empty response
end

def test_find_all
pkgs = @@extension.all.sort_by { |p| p['id'] }
ids = pkgs.map { |p| p['id'] }
response = @@extension.find_all(ids)

assert_equal 200, response.code
assert_equal ids.length, response.length
end

def test_find_all_by_unit_ids
id = @@extension.all.sort_by { |p| p['id'] }.first['_id']
response = @@extension.find_all_by_unit_ids([id])

refute_empty response
assert_equal id, response.first['_id']
end

def test_find_all_by_unit_ids_no_repos
pkgs = @@extension.all.sort_by { |p| p['_id'] }
ids = pkgs[0..2].map { |p| p['_id'] }
response = @@extension.find_all_by_unit_ids(ids, [:name], :include_repos => false)

assert_equal 200, response.code
assert_nil response.first[:repository_memberships]
end
end

class TestModuleCopy < UnitCopyBase
def self.extension_class
TestRuncible.server.extensions.module
end

def test_copy
response = self.class.extension_class.copy(RepositorySupport.repo_id, self.class.clone_name)
tasks = assert_async_response(response)

clone_ids = unit_ids(self.class.clone_name)
original_ids = unit_ids(RepositorySupport.repo_id)

assert_includes tasks.first['tags'], 'pulp:action:associate'
assert_equal original_ids.length, clone_ids.length
end
end

class TestModuleDissociate < UnitUnassociateBase
def self.extension_class
TestRuncible.server.extensions.module
end

def setup
response = TestRuncible.server.extensions.repository.unit_copy(self.class.clone_name, RepositorySupport.repo_id)
self.class.support.wait_on_response(response)

@unit_ids = unit_ids(self.class.clone_name)
end

def test_unassociate_unit_ids_from_repo
ids = unit_ids(RepositorySupport.repo_id)
refute_empty ids
response = self.class.extension_class.unassociate_unit_ids_from_repo(self.class.clone_name, [ids.first])

assert_async_response(response)
assert_equal((ids.length - 1), unit_ids(self.class.clone_name).length)
end
end
end
39 changes: 39 additions & 0 deletions test/fixtures/repositories/zoo5/comps.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps>

<group>
<id>bird</id>
<default>true</default>
<uservisible>true</uservisible>
<display_order>1024</display_order>
<name>bird</name>
<description></description>
<packagelist>
<packagereq type="mandatory">penguin</packagereq>
</packagelist>
</group>
<group>
<id>mammal</id>
<default>true</default>
<uservisible>true</uservisible>
<display_order>1024</display_order>
<name>mammal</name>
<description></description>
<packagelist>
<packagereq type="mandatory">elephant,giraffe,cheetah,lion,monkey,penguin,squirrel,walrus</packagereq>
<packagereq type="mandatory">penguin</packagereq>
</packagelist>
</group>
<category>
<id>all</id>
<display_order>99</display_order>
<name>all</name>
<description></description>
<grouplist>
<groupid>mammal</groupid>
<groupid>bird</groupid>
</grouplist>
</category>

</comps>
21 changes: 3 additions & 18 deletions test/fixtures/repositories/zoo5/create.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,20 +1,5 @@
#!/bin/bash
createrepo -g comps.xml .
modifyrepo updateinfo.xml repodata
modifyrepo --mdtype=modules modules.yaml repodata

pulp-admin auth login --username admin --password admin
pulp-admin repo create --id zoo2
pulp-admin content upload -r zoo2 --nosig -v *rpm
touch empty.iso
pulp-admin content upload -r zoo2 --nosig -v empty.iso
pulp-admin packagegroup create --id=mammal -r zoo2 -n mammal
pulp-admin packagegroup add_package --id=mammal -r zoo2 -n elephant,giraffe,cheetah,lion,monkey,penguin,squirrel,walrus -t mandatory
pulp-admin packagegroup create --id=bird -r zoo2 -n bird
pulp-admin packagegroup add_package --id=bird -r zoo2 -n penguin -t mandatory
pulp-admin packagegroup create_category --categoryid=all -r zoo2 -n all
pulp-admin packagegroup add_group --id=mammal --categoryid=all -r zoo2
pulp-admin packagegroup add_group --id=bird --categoryid=all -r zoo2
pulp-admin errata create --id RHEA-2010:0001 --title "Empty errata" --version 1 --release 1 --type security --issued "2010-01-01 01:01:01" --status stable --fromstr "lzap+pub@redhat.com"
echo "elephant,0.3,0.8,0,noarch,elephant-0.3-0.8.noarch.rpm,b029ffa74171d1f60d58ad25a4822db2,md5,http://www.fedoraproject.org" > /tmp/erratum.csv
pulp-admin errata create --id RHEA-2010:0002 --title "One package errata" --version 1 --release 1 --type security --issued "2010-01-01 01:01:01" --status stable --fromstr "lzap+pub@redhat.com" --effected-packages /tmp/erratum.csv
pulp-admin repo add_errata --id zoo2 -e RHEA-2010:0001 -y
pulp-admin repo add_errata --id zoo2 -e RHEA-2010:0002 -y
pulp-admin repo generate_metadata --id zoo2
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 020268f

Please sign in to comment.