remove legacy specs completely

pull/11458/head
ulferts 2 years ago committed by Oliver Günther
parent 1ba868e4f6
commit ca361b017b
  1. 1
      .dockerignore
  2. 1
      Gemfile
  3. 7
      Gemfile.lock
  4. 1
      docker/ci/entrypoint.sh
  5. 21
      docs/development/running-tests/README.md
  6. 10
      lib/tasks/parallel_testing.rake
  7. 23
      lib/tasks/testing.rake
  8. 32
      nix/gemset.nix
  9. 125
      spec_legacy/fixtures/enabled_modules.yml
  10. 96
      spec_legacy/fixtures/enumerations.yml
  11. 77
      spec_legacy/fixtures/member_roles.yml
  12. 90
      spec_legacy/fixtures/members.yml
  13. 96
      spec_legacy/fixtures/projects.yml
  14. 76
      spec_legacy/fixtures/projects_types.yml
  15. 40
      spec_legacy/fixtures/relations.yml
  16. 561
      spec_legacy/fixtures/role_permissions.yml
  17. 55
      spec_legacy/fixtures/roles.yml
  18. 65
      spec_legacy/fixtures/statuses.yml
  19. 41
      spec_legacy/fixtures/tokens.yml
  20. 50
      spec_legacy/fixtures/types.yml
  21. 100
      spec_legacy/fixtures/user_passwords.yml
  22. 173
      spec_legacy/fixtures/users.yml
  23. 96
      spec_legacy/legacy_spec_helper.rb
  24. 116
      spec_legacy/support/legacy_assertions.rb

@ -26,7 +26,6 @@ features
help
log/*.log
spec
spec_legacy
tmp
frontend/node_modules
node_modules

@ -216,7 +216,6 @@ group :test do
# and other niceties
gem 'test-prof', '~> 1.0.0'
gem 'database_cleaner', '~> 2.0' # only useful for legacy_spec
gem 'rack_session_access'
gem 'rspec', '~> 3.11.0'
# also add to development group, so "spec" rake task gets loaded

@ -391,12 +391,6 @@ GEM
danger-plugin-api (~> 1.0)
danger-plugin-api (1.0.0)
danger (> 2.0)
database_cleaner (2.0.1)
database_cleaner-active_record (~> 2.0.0)
database_cleaner-active_record (2.0.1)
activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1)
date_validator (0.12.0)
activemodel (>= 3)
activesupport (>= 3)
@ -1034,7 +1028,6 @@ DEPENDENCIES
dalli (~> 3.2.0)
danger-brakeman
dashboards!
database_cleaner (~> 2.0)
date_validator (~> 0.12.0)
deckar01-task_list (~> 2.3.1)
delayed_cron_job (~> 0.9.0)

@ -62,7 +62,6 @@ if [ "$1" == "run-units" ]; then
shift
execute "time bundle exec rake zeitwerk:check"
execute "cd frontend && npm install && npm run test"
execute "time bundle exec rspec -I spec_legacy spec_legacy"
if ! execute "time bundle exec rake parallel:units" ; then
execute "cat tmp/parallel_summary.log"
cleanup

@ -71,12 +71,6 @@ You will be able to run failing tests locally in a similar fashion for all error
**Errors in the legacy specs**
For the `legacy specs` job, please [see the section on running legacy specs](#legacy-specs).
**Helper to extract all failing tests**
There is a small ruby script that will parse the logs of a GitHub Actions run and output all `rspec` tests that failed for you to run in one command.
@ -85,8 +79,6 @@ There is a small ruby script that will parse the logs of a GitHub Actions run an
./script/github_pr_errors
```
Note that it will output legacy specs and specs together, which need to be run separately.
## Tests failing on GitHub Actions CI and passing locally
@ -354,19 +346,6 @@ You can run the specs with the following commands:
* `SPEC_OPTS="--seed 12935" bundle exec rake spec` Run the core specs with the seed 12935. Use this to control in what order the tests are run to identify order-dependent failures. You will find the seed that GitHub Actions CI used in their log output.
## Legacy specs
**Note:** *We do not write new tests in this category. Tests are expected to be removed from these two groups whenever they break.*
The legacy specs use `minitest` and reside under `spec_legacy/` in the application root. No new tests are to be added here, but old ones removed whenever we refactor code.
To run all legacy specs, use this command:
```bash
RAILS_ENV=test bundle exec rake spec -I spec_legacy spec_legacy/
```
## Parallel testing
Running tests in parallel makes usage of all available cores of the machine.

@ -110,7 +110,6 @@ namespace :parallel do
desc 'Run all suites in parallel (one after another)'
task all: ['parallel:plugins:specs',
'parallel:plugins:features',
:spec_legacy,
:rspec]
namespace :plugins do
@ -150,15 +149,6 @@ namespace :parallel do
end
end
desc 'Run legacy specs in parallel'
task :spec_legacy do
ParallelParser.with_args(ARGV) do |options|
ARGV.each { |a| task(a.to_sym) {} }
run_specs options, 'spec_legacy', '', additional_options: '-I spec_legacy'
end
end
desc 'Run spec in parallel (custom task)'
task :specs do
ParallelParser.with_args(ARGV) do |options|

@ -29,31 +29,10 @@
namespace :test do
desc 'runs all tests'
namespace :suite do
task run: [:spec, 'spec:legacy']
task run: [:spec]
end
end
task('spec:legacy').clear
namespace :spec do
require 'rspec/core/rake_task'
desc 'Run the code examples in spec_legacy'
task legacy: %w(legacy:unit legacy:functional legacy:integration)
namespace :legacy do
%w(unit functional integration).each do |type|
desc "Run the code examples in spec_legacy/#{type}"
RSpec::Core::RakeTask.new(type => 'spec:prepare') do |t|
t.pattern = "spec_legacy/#{type}/**/*_spec.rb"
t.rspec_opts = '-I spec_legacy'
end
end
end
rescue LoadError
# when you bundle without development and test (e.g. to create a deployment
# artefact) still all tasks get loaded. To avoid an error we rescue here.
end
%w(spec).each do |type|
if Rake::Task.task_defined?("#{type}:prepare")
Rake::Task["#{type}:prepare"].enhance(['assets:prepare_op'])

@ -801,38 +801,6 @@
};
version = "1.0.0";
};
database_cleaner = {
dependencies = ["database_cleaner-active_record"];
groups = ["test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1x4r22rnpwnm9yln88vhzqj4cl3sbd26c4j50g9k6wp7y01rln4w";
type = "gem";
};
version = "2.0.1";
};
database_cleaner-active_record = {
dependencies = ["activerecord" "database_cleaner-core"];
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jg7jd7w65hdarzbi8f252la3qgsnd2sjavhlmc82kwzfx37k38m";
type = "gem";
};
version = "2.0.0";
};
database_cleaner-core = {
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0v44bn386ipjjh4m2kl53dal8g4d41xajn2jggnmjbhn6965fil6";
type = "gem";
};
version = "2.0.1";
};
date_validator = {
dependencies = ["activemodel" "activesupport"];
groups = ["default"];

@ -1,125 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
enabled_modules_001:
name: work_package_tracking
project_id: 1
id: 1
enabled_modules_002:
name: costs
project_id: 1
id: 2
enabled_modules_003:
name: news
project_id: 1
id: 3
enabled_modules_006:
name: wiki
project_id: 1
id: 6
enabled_modules_007:
name: repository
project_id: 1
id: 7
enabled_modules_008:
name: forums
project_id: 1
id: 8
enabled_modules_009:
name: repository
project_id: 3
id: 9
enabled_modules_010:
name: wiki
project_id: 3
id: 10
enabled_modules_011:
name: work_package_tracking
project_id: 2
id: 11
enabled_modules_012:
name: costs
project_id: 3
id: 12
enabled_modules_013:
name: work_package_tracking
project_id: 3
id: 13
enabled_modules_014:
name: work_package_tracking
project_id: 5
id: 14
enabled_modules_015:
name: wiki
project_id: 2
id: 15
enabled_modules_016:
name: forums
project_id: 2
id: 16
enabled_modules_017:
name: calendar
project_id: 1
id: 17
enabled_modules_019:
name: calendar
project_id: 2
id: 19
enabled_modules_021:
name: calendar
project_id: 3
id: 21
enabled_modules_023:
name: calendar
project_id: 5
id: 23
enabled_modules_025:
name: news
project_id: 2
id: 25
enabled_modules_026:
name: activity
project_id: 1
id: 26
enabled_modules_027:
name: activity
project_id: 2
id: 27
enabled_modules_028:
name: activity
project_id: 3
id: 28
enabled_modules_029:
name: activity
project_id: 4
id: 29
enabled_modules_030:
name: activity
project_id: 5
id: 30

@ -1,96 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
enumerations_004:
name: Low
id: 4
type: IssuePriority
active: true
position: 1
enumerations_005:
name: Normal
id: 5
type: IssuePriority
is_default: true
active: true
position: 2
enumerations_006:
name: High
id: 6
type: IssuePriority
active: true
position: 3
enumerations_007:
name: Urgent
id: 7
type: IssuePriority
active: true
position: 4
enumerations_008:
name: Immediate
id: 8
type: IssuePriority
active: true
position: 5
enumerations_009:
name: Design
id: 9
type: TimeEntryActivity
position: 1
active: true
enumerations_010:
name: Development
id: 10
type: TimeEntryActivity
position: 2
is_default: true
active: true
enumerations_011:
name: QA
id: 11
type: TimeEntryActivity
position: 3
active: true
enumerations_012:
name: Default Enumeration
id: 12
type: Enumeration
is_default: true
active: true
enumerations_013:
name: Another Enumeration
id: 13
type: Enumeration
active: true
enumerations_014:
name: Inactive Activity
id: 14
type: TimeEntryActivity
position: 4
active: false

@ -1,77 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
member_roles_001:
id: 1
role_id: 1
member_id: 1
member_roles_002:
id: 2
role_id: 2
member_id: 2
member_roles_003:
id: 3
role_id: 2
member_id: 3
member_roles_004:
id: 4
role_id: 2
member_id: 4
member_roles_005:
id: 5
role_id: 1
member_id: 5
member_roles_006:
id: 6
role_id: 1
member_id: 6
member_roles_007:
id: 7
role_id: 2
member_id: 6
member_roles_008:
id: 8
role_id: 1
member_id: 7
inherited_from: 6
member_roles_009:
id: 9
role_id: 2
member_id: 7
inherited_from: 7
member_roles_010:
id: 10
role_id: 2
member_id: 9
inherited_from:
member_roles_011:
id: 11
role_id: 2
member_id: 10
inherited_from: 10

@ -1,90 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
members_001:
created_at: 2006-07-19 19:35:33 +02:00
updated_at: 2006-07-19 19:35:33 +02:00
project_id: 1
id: 1
user_id: 2
members_002:
created_at: 2006-07-19 19:35:36 +02:00
updated_at: 2006-07-19 19:35:36 +02:00
project_id: 1
id: 2
user_id: 3
members_003:
created_at: 2006-07-19 19:35:36 +02:00
updated_at: 2006-07-19 19:35:36 +02:00
project_id: 2
id: 3
user_id: 2
members_004:
id: 4
created_at: 2006-07-19 19:35:36 +02:00
updated_at: 2006-07-19 19:35:36 +02:00
project_id: 1
# Locked user
user_id: 5
members_005:
id: 5
created_at: 2006-07-19 19:35:33 +02:00
updated_at: 2006-07-19 19:35:33 +02:00
project_id: 5
user_id: 2
members_006:
id: 6
created_at: 2006-07-19 19:35:33 +02:00
updated_at: 2006-07-19 19:35:33 +02:00
project_id: 5
user_id: 10
members_007:
id: 7
created_at: 2006-07-19 19:35:33 +02:00
updated_at: 2006-07-19 19:35:33 +02:00
project_id: 5
user_id: 8
members_008:
created_at: 2006-07-19 19:35:33 +02:00
updated_at: 2006-07-19 19:35:33 +02:00
project_id: 5
id: 8
user_id: 1
members_009:
id: 9
created_at: 2006-07-19 19:35:33 +02:00
updated_at: 2006-07-19 19:35:33 +02:00
project_id: 2
user_id: 11
members_010:
id: 10
created_at: 2006-07-19 19:35:33 +02:00
updated_at: 2006-07-19 19:35:33 +02:00
project_id: 2
user_id: 8

@ -1,96 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
projects_001:
created_at: 2006-07-19 19:13:59 +02:00
name: eCookbook
updated_at: 2006-07-19 22:53:01 +02:00
id: 1
description: Recipes management application
public: true
identifier: ecookbook
parent_id:
lft: 1
rgt: 10
projects_002:
created_at: 2006-07-19 19:14:19 +02:00
name: OnlineStore
updated_at: 2006-07-19 19:14:19 +02:00
id: 2
description: E-commerce web site
public: false
identifier: onlinestore
parent_id:
lft: 11
rgt: 12
projects_003:
created_at: 2006-07-19 19:15:21 +02:00
name: eCookbook Subproject 1
updated_at: 2006-07-19 19:18:12 +02:00
id: 3
description: eCookBook Subproject 1
public: true
identifier: subproject1
parent_id: 1
lft: 6
rgt: 7
projects_004:
created_at: 2006-07-19 19:15:51 +02:00
name: eCookbook Subproject 2
updated_at: 2006-07-19 19:17:07 +02:00
id: 4
description: eCookbook Subproject 2
public: true
identifier: subproject2
parent_id: 1
lft: 8
rgt: 9
projects_005:
created_at: 2006-07-19 19:15:51 +02:00
name: Private child of eCookbook
updated_at: 2006-07-19 19:17:07 +02:00
id: 5
description: This is a private subproject of a public project
public: false
identifier: private-child
parent_id: 1
lft: 2
rgt: 5
projects_006:
created_at: 2006-07-19 19:15:51 +02:00
name: Child of private child
updated_at: 2006-07-19 19:17:07 +02:00
id: 6
description: This is a public subproject of a private project
public: true
identifier: project6
parent_id: 5
lft: 3
rgt: 4

@ -1,76 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
projects_types_001:
project_id: 4
type_id: 3
projects_types_002:
project_id: 1
type_id: 1
projects_types_003:
project_id: 5
type_id: 1
projects_types_004:
project_id: 1
type_id: 2
projects_types_005:
project_id: 5
type_id: 2
projects_types_006:
project_id: 5
type_id: 3
projects_types_007:
project_id: 2
type_id: 1
projects_types_008:
project_id: 2
type_id: 2
projects_types_009:
project_id: 2
type_id: 3
projects_types_010:
project_id: 3
type_id: 2
projects_types_011:
project_id: 3
type_id: 3
projects_types_012:
project_id: 4
type_id: 1
projects_types_013:
project_id: 4
type_id: 2
projects_types_014:
project_id: 1
type_id: 3
projects_types_015:
project_id: 6
type_id: 999

@ -1,40 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
relation_001:
id: 1
from_id: 10
to_id: 9
relation_type: 'blocks'
delay:
relation_002:
id: 2
from_id: 2
to_id: 3
relation_type: 'relates'
delay:

@ -1,561 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
role_permission001:
id: 1
role_id: 1
permission: 'add_project'
role_permission002:
id: 2
role_id: 1
permission: 'edit_project'
role_permission003:
id: 3
role_id: 1
permission: 'select_project_modules'
role_permission004:
id: 4
role_id: 1
permission: 'manage_members'
role_permission005:
id: 5
role_id: 1
permission: 'manage_versions'
role_permission006:
id: 6
role_id: 1
permission: 'manage_categories'
role_permission007:
id: 7
role_id: 1
permission: 'view_work_packages'
role_permission008:
id: 8
role_id: 1
permission: 'add_work_packages'
role_permission009:
id: 9
role_id: 1
permission: 'edit_work_packages'
role_permission010:
id: 10
role_id: 1
permission: 'manage_work_package_relations'
role_permission011:
id: 11
role_id: 1
permission: 'manage_subtasks'
role_permission012:
id: 12
role_id: 1
permission: 'add_work_package_notes'
role_permission013:
id: 13
role_id: 1
permission: 'move_work_package'
role_permission014:
id: 14
role_id: 1
permission: 'move_work_packages'
role_permission015:
id: 15
role_id: 1
permission: 'delete_work_packages'
role_permission016:
id: 16
role_id: 1
permission: 'view_work_package_watchers'
role_permission017:
id: 17
role_id: 1
permission: 'add_work_package_watchers'
role_permission018:
id: 18
role_id: 1
permission: 'delete_work_package_watchers'
role_permission019:
id: 19
role_id: 1
permission: 'manage_public_queries'
role_permission020:
id: 20
role_id: 1
permission: 'save_queries'
role_permission021:
id: 21
role_id: 1
permission: 'view_calendar'
role_permission022:
id: 22
role_id: 1
permission: 'log_own_time'
role_permission023:
id: 23
role_id: 1
permission: 'view_time_entries'
role_permission024:
id: 24
role_id: 1
permission: 'edit_time_entries'
role_permission025:
id: 25
role_id: 1
permission: 'delete_time_entries'
role_permission026:
id: 26
role_id: 1
permission: 'manage_news'
role_permission027:
id: 27
role_id: 1
permission: 'comment_news'
role_permission028:
id: 28
role_id: 1
permission: 'view_wiki_pages'
role_permission029:
id: 29
role_id: 1
permission: 'export_wiki_pages'
role_permission030:
id: 30
role_id: 1
permission: 'view_wiki_edits'
role_permission031:
id: 31
role_id: 1
permission: 'edit_wiki_pages'
role_permission032:
id: 32
role_id: 1
permission: 'delete_wiki_pages_attachments'
role_permission033:
id: 33
role_id: 1
permission: 'protect_wiki_pages'
role_permission034:
id: 34
role_id: 1
permission: 'delete_wiki_pages'
role_permission035:
id: 35
role_id: 1
permission: 'rename_wiki_pages'
role_permission036:
id: 36
role_id: 1
permission: 'add_messages'
role_permission037:
id: 37
role_id: 1
permission: 'edit_messages'
role_permission038:
id: 38
role_id: 1
permission: 'delete_messages'
role_permission039:
id: 39
role_id: 1
permission: 'manage_forums'
role_permission040:
id: 40
role_id: 1
permission: 'browse_repository'
role_permission041:
id: 41
role_id: 1
permission: 'manage_repository'
role_permission042:
id: 42
role_id: 1
permission: 'view_changesets'
role_permission043:
id: 43
role_id: 1
permission: 'manage_project_activities'
role_permission044:
id: 44
role_id: 1
permission: 'export_work_packages'
role_permission045:
id: 45
role_id: 1
permission: 'list_attachments'
role_permission100:
id: 100
role_id: 2
permission: 'edit_project'
role_permission101:
id: 101
role_id: 2
permission: 'manage_members'
role_permission102:
id: 102
role_id: 2
permission: 'manage_versions'
role_permission103:
id: 103
role_id: 2
permission: 'manage_categories'
role_permission104:
id: 104
role_id: 2
permission: 'view_work_packages'
role_permission105:
id: 105
role_id: 2
permission: 'add_work_packages'
role_permission106:
id: 106
role_id: 2
permission: 'edit_work_packages'
role_permission107:
id: 107
role_id: 2
permission: 'manage_work_package_relations'
role_permission108:
id: 108
role_id: 2
permission: 'manage_subtasks'
role_permission109:
id: 109
role_id: 2
permission: 'add_work_package_notes'
role_permission110:
id: 110
role_id: 2
permission: 'move_work_packages'
role_permission111:
id: 111
role_id: 2
permission: 'delete_work_packages'
role_permission112:
id: 112
role_id: 2
permission: 'view_work_package_watchers'
role_permission113:
id: 113
role_id: 2
permission: 'save_queries'
role_permission114:
id: 114
role_id: 2
permission: 'view_calendar'
role_permission115:
id: 115
role_id: 2
permission: 'log_own_time'
role_permission116:
id: 116
role_id: 2
permission: 'view_time_entries'
role_permission117:
id: 117
role_id: 2
permission: 'edit_own_time_entries'
role_permission118:
id: 118
role_id: 2
permission: 'manage_news'
role_permission119:
id: 119
role_id: 2
permission: 'comment_news'
role_permission120:
id: 120
role_id: 2
permission: 'view_wiki_pages'
role_permission121:
id: 121
role_id: 2
permission: 'view_wiki_edits'
role_permission122:
id: 122
role_id: 2
permission: 'edit_wiki_pages'
role_permission123:
id: 123
role_id: 2
permission: 'protect_wiki_pages'
role_permission124:
id: 124
role_id: 2
permission: 'delete_wiki_pages'
role_permission125:
id: 125
role_id: 2
permission: 'add_messages'
role_permission126:
id: 126
role_id: 2
permission: 'edit_own_messages'
role_permission127:
id: 127
role_id: 2
permission: 'delete_own_messages'
role_permission128:
id: 128
role_id: 2
permission: 'manage_forums'
role_permission129:
id: 129
role_id: 2
permission: 'browse_repository'
role_permission130:
id: 130
role_id: 2
permission: 'view_changesets'
role_permission131:
id: 131
role_id: 2
permission: 'list_attachments'
role_permission132:
id: 132
role_id: 2
permission: 'assign_versions'
role_permission133:
id: 133
role_id: 2
permission: 'work_package_assigned'
role_permission200:
id: 200
role_id: 3
permission: 'edit_project'
role_permission201:
id: 201
role_id: 3
permission: 'manage_members'
role_permission202:
id: 202
role_id: 3
permission: 'manage_versions'
role_permission203:
id: 203
role_id: 3
permission: 'manage_categories'
role_permission204:
id: 204
role_id: 3
permission: 'view_work_packages'
role_permission205:
id: 205
role_id: 3
permission: 'add_work_packages'
role_permission206:
id: 206
role_id: 3
permission: 'edit_work_packages'
role_permission207:
id: 207
role_id: 3
permission: 'manage_work_package_relations'
role_permission208:
id: 208
role_id: 3
permission: 'add_work_package_notes'
role_permission209:
id: 209
role_id: 3
permission: 'move_work_packages'
role_permission210:
id: 210
role_id: 3
permission: 'view_work_package_watchers'
role_permission211:
id: 211
role_id: 3
permission: 'save_queries'
role_permission212:
id: 212
role_id: 3
permission: 'view_calendar'
role_permission213:
id: 213
role_id: 3
permission: 'log_own_time'
role_permission214:
id: 214
role_id: 3
permission: 'view_time_entries'
role_permission215:
id: 215
role_id: 3
permission: 'manage_news'
role_permission216:
id: 216
role_id: 3
permission: 'comment_news'
role_permission217:
id: 217
role_id: 3
permission: 'view_wiki_pages'
role_permission218:
id: 218
role_id: 3
permission: 'view_wiki_edits'
role_permission219:
id: 219
role_id: 3
permission: 'edit_wiki_pages'
role_permission220:
id: 220
role_id: 3
permission: 'delete_wiki_pages'
role_permission221:
id: 221
role_id: 3
permission: 'add_messages'
role_permission222:
id: 222
role_id: 3
permission: 'manage_boards'
role_permission223:
id: 223
role_id: 3
permission: 'browse_repository'
role_permission224:
id: 224
role_id: 3
permission: 'view_changesets'
role_permission225:
id: 225
role_id: 3
permission: 'list_attachments'
role_permission226:
id: 226
role_id: 4
permission: 'view_work_packages'
role_permission227:
id: 227
role_id: 4
permission: 'add_work_packages'
role_permission228:
id: 228
role_id: 4
permission: 'edit_work_packages'
role_permission229:
id: 229
role_id: 4
permission: 'manage_work_package_relations'
role_permission230:
id: 230
role_id: 4
permission: 'add_work_package_notes'
role_permission231:
id: 231
role_id: 4
permission: 'move_work_packages'
role_permission232:
id: 232
role_id: 4
permission: 'save_queries'
role_permission233:
id: 233
role_id: 4
permission: 'view_calendar'
role_permission234:
id: 234
role_id: 4
permission: 'log_own_time'
role_permission235:
id: 235
role_id: 4
permission: 'view_time_entries'
role_permission236:
id: 236
role_id: 4
permission: 'comment_news'
role_permission237:
id: 237
role_id: 4
permission: 'view_wiki_pages'
role_permission238:
id: 238
role_id: 4
permission: 'view_wiki_edits'
role_permission239:
id: 239
role_id: 4
permission: 'edit_wiki_pages'
role_permission240:
id: 240
role_id: 4
permission: 'add_messages'
role_permission241:
id: 241
role_id: 4
permission: 'browse_repository'
role_permission242:
id: 242
role_id: 4
permission: 'view_changesets'
role_permission243:
id: 243
role_id: 4
permission: 'list_attachments'
role_permission500:
id: 500
role_id: 5
permission: 'view_work_packages'
role_permission501:
id: 501
role_id: 5
permission: 'add_work_package_notes'
role_permission502:
id: 502
role_id: 5
permission: 'view_calendar'
role_permission503:
id: 503
role_id: 5
permission: 'view_time_entries'
role_permission504:
id: 504
role_id: 5
permission: 'view_wiki_pages'
role_permission505:
id: 505
role_id: 5
permission: 'view_wiki_edits'
role_permission506:
id: 506
role_id: 5
permission: 'browse_repository'
role_permission507:
id: 507
role_id: 5
permission: 'view_changesets'
role_permission508:
id: 508
role_id: 5
permission: 'list_attachments'

@ -1,55 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
roles_001:
name: Manager
id: 1
builtin: 0
position: 1
roles_002:
name: Developer
id: 2
builtin: 0
position: 2
roles_003:
name: Reporter
id: 3
builtin: 0
position: 3
roles_004:
name: Non member
id: 4
builtin: 1
position: 4
roles_005:
name: Anonymous
id: 5
builtin: 2
position: 5

@ -1,65 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
statuses_001:
id: 1
name: New
is_default: true
is_closed: false
position: 1
statuses_002:
id: 2
name: Assigned
is_default: false
is_closed: false
position: 2
statuses_003:
id: 3
name: Resolved
is_default: false
is_closed: false
position: 3
statuses_004:
name: Feedback
id: 4
is_default: false
is_closed: false
position: 4
statuses_005:
id: 5
name: Closed
is_default: false
is_closed: true
position: 5
statuses_006:
id: 6
name: Rejected
is_default: false
is_closed: true
position: 6

@ -1,41 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
tokens_001:
created_at: 2007-01-21 00:39:12 +01:00
type: Token::Invitation
id: 1
value: DwMJ2yIxBNeAk26znMYzYmz5dAiIina0GFrPnGTM
user_id: 1
tokens_002:
created_at: 2007-01-21 00:39:52 +01:00
id: 2
value: sahYSIaoYrsZUef86sTHrLISdznW6ApF36h5WSnm
type: Token::Recovery
user_id: 2

@ -1,50 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
types_001:
name: Bug
id: 1
position: 1
is_default: true
types_002:
name: Feature request
id: 2
position: 2
is_default: true
types_003:
name: Support request
id: 3
position: 3
is_default: true
types_999:
name: None
id: 999
is_standard: true
position: 0
is_default: true

@ -1,100 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
user_passwords_004:
created_at: 2006-07-19 19:34:07 +02:00
# password = foo
type: UserPassword::SHA1
salt: 3126f764c3c5ac61cbfc103f25f934cf
hashed_password: 9e4dd7eeb172c12a0691a6d9d3a269f7e9fe671b
updated_at: 2006-07-19 19:34:07 +02:00
id: 4
user_id: 4
user_passwords_001:
created_at: 2006-07-19 19:12:21 +02:00
# password = adminADMIN!
type: UserPassword::SHA1
salt: a19f9743f4b7b043a2fd07b8eb13a1df
hashed_password: b4596ce83c0e154e5ce9d3dd5636fde4d6f38b75
updated_at: 2006-07-19 22:57:52 +02:00
id: 1
user_id: 1
user_passwords_002:
created_at: 2006-07-19 19:32:09 +02:00
# password = jsmith
type: UserPassword::SHA1
salt: 67eb4732624d5a7753dcea7ce0bb7d7d
hashed_password: bfbe06043353a677d0215b26a5800d128d5413bc
updated_at: 2006-07-19 22:42:15 +02:00
id: 2
user_id: 2
user_passwords_003:
created_at: 2006-07-19 19:33:19 +02:00
# password = foo
type: UserPassword::SHA1
salt: 7599f9963ec07b5a3b55b354407120c0
hashed_password: 8f659c8d7c072f189374edacfa90d6abbc26d8ed
updated_at: 2006-07-19 19:33:19 +02:00
id: 3
user_id: 3
user_passwords_005:
id: 5
user_id: 5
created_at: 2006-07-19 19:33:19 +02:00
type: UserPassword::SHA1
hashed_password: 1
updated_at: 2006-07-19 19:33:19 +02:00
user_passwords_006:
id: 6
user_id: 6
created_at: 2006-07-19 19:33:19 +02:00
type: UserPassword::SHA1
hashed_password: 1
updated_at: 2006-07-19 19:33:19 +02:00
user_passwords_007:
id: 7
user_id: 7
type: UserPassword::SHA1
hashed_password: 1
created_at: 2006-07-19 19:33:19 +02:00
updated_at: 2006-07-19 19:33:19 +02:00
user_passwords_008:
id: 8
user_id: 8
type: UserPassword::SHA1
created_at: 2006-07-19 19:33:19 +02:00
hashed_password: 1
updated_at: 2006-07-19 19:33:19 +02:00
user_passwords_009:
id: 9
user_id: 9
type: UserPassword::SHA1
created_at: 2006-07-19 19:33:19 +02:00
hashed_password: 1
updated_at: 2006-07-19 19:33:19 +02:00

@ -1,173 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
---
users_004:
created_at: 2006-07-19 19:34:07 +02:00
status: 1
last_login_on:
language: en
updated_at: 2006-07-19 19:34:07 +02:00
admin: false
mail: rhill@somenet.foo
lastname: Hill
firstname: Robert
id: 4
auth_source_id:
login: rhill
type: User
first_login: false
users_001:
created_at: 2006-07-19 19:12:21 +02:00
status: 1
last_login_on: 2006-07-19 22:57:52 +02:00
language: en
updated_at: 2006-07-19 22:57:52 +02:00
admin: true
mail: admin@somenet.foo
lastname: Admin
firstname: redMine
id: 1
auth_source_id:
login: admin
type: User
first_login: false
users_002:
created_at: 2006-07-19 19:32:09 +02:00
status: 1
last_login_on: 2006-07-19 22:42:15 +02:00
language: en
updated_at: 2006-07-19 22:42:15 +02:00
admin: false
mail: jsmith@somenet.foo
lastname: Smith
firstname: John
id: 2
auth_source_id:
login: jsmith
type: User
first_login: false
users_003:
created_at: 2006-07-19 19:33:19 +02:00
status: 1
last_login_on:
language: en
updated_at: 2006-07-19 19:33:19 +02:00
admin: false
mail: dlopper@somenet.foo
lastname: Lopper
firstname: Dave
id: 3
auth_source_id:
login: dlopper
type: User
first_login: false
users_005:
id: 5
created_at: 2006-07-19 19:33:19 +02:00
# Locked
status: 3
last_login_on:
language: en
updated_at: 2006-07-19 19:33:19 +02:00
admin: false
mail: dlopper2@somenet.foo
lastname: Lopper2
firstname: Dave2
auth_source_id:
login: dlopper2
type: User
first_login: false
users_006:
id: 6
created_at: 2006-07-19 19:33:19 +02:00
status: 1
last_login_on:
language: ''
updated_at: 2006-07-19 19:33:19 +02:00
admin: false
mail: ''
lastname: Anonymous
firstname: ''
auth_source_id:
login: ''
type: AnonymousUser
first_login: false
users_007:
id: 7
created_at: 2006-07-19 19:33:19 +02:00
status: 1
last_login_on:
language: ''
updated_at: 2006-07-19 19:33:19 +02:00
admin: false
mail: someone@foo.bar
lastname: One
firstname: Some
auth_source_id:
login: someone
type: User
first_login: false
users_008:
id: 8
created_at: 2006-07-19 19:33:19 +02:00
status: 1
last_login_on:
language: 'de'
updated_at: 2006-07-19 19:33:19 +02:00
admin: false
mail: miscuser8@foo.bar
lastname: Misc
firstname: User
auth_source_id:
login: miscuser8
type: User
first_login: false
users_009:
id: 9
created_at: 2006-07-19 19:33:19 +02:00
status: 1
last_login_on:
language: 'de'
updated_at: 2006-07-19 19:33:19 +02:00
admin: false
mail: miscuser9@foo.bar
lastname: Misc
firstname: User
auth_source_id:
login: miscuser9
type: User
first_login: false
groups_010:
id: 10
lastname: A Team
type: Group
groups_011:
id: 11
lastname: B Team
type: Group

@ -1,96 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
ENV['RAILS_ENV'] = 'test'
require File.expand_path('../config/environment', __dir__)
require 'fileutils'
require 'rspec/mocks'
require 'factory_bot_rails'
require_relative './support/legacy_assertions'
require 'rspec/rails'
require 'shoulda/matchers'
# Required shared support helpers from spec/
Dir[Rails.root.join('spec/support/shared/*.rb')].each { |f| require f }
RSpec.configure do |config|
config.expect_with :rspec, :minitest
config.fixture_path = "#{::Rails.root}/spec_legacy/fixtures"
config.use_transactional_fixtures = true
config.use_instantiated_fixtures = false
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
# Clear fixtures so that normal specs can run without needing truncation
config.after(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.include LegacyAssertionsAndHelpers
config.include ActiveSupport::Testing::Assertions
config.include Shoulda::Context::Assertions
# included in order to use #fixture_file_upload
config.include ActionDispatch::TestProcess
# Allow factories to be used without FactoryBot.
config.include FactoryBot::Syntax::Methods
config.include RSpec::Rails::RequestExampleGroup, file_path: %r(spec_legacy/integration)
config.include Shoulda::Matchers::ActionController, file_path: %r(spec_legacy/integration)
config.extend Shoulda::Matchers::ActionController, file_path: %r(spec_legacy/integration)
config.include(Module.new do
extend ActiveSupport::Concern
# FIXME: hack to ensure subject is an ActionDispatch::TestResponse (RSpec-port)
included do
subject { self }
end
end, file_path: %r(spec_legacy/integration))
config.before(:suite) do |_example|
Delayed::Worker.delay_jobs = false
end
config.before(:each) do
reset_global_state!
I18n.locale = 'en'
end
# colorized rspec output
config.color = true
config.formatter = 'progress'
end

@ -1,116 +0,0 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) 2012-2022 the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
module LegacyAssertionsAndHelpers
extend ActiveSupport::Concern
##
# Resets any global state that may have been changed through tests and the change of which
# should not affect other tests.
def reset_global_state!
User.current = User.anonymous # reset current user in case it was changed in a test
ActionMailer::Base.deliveries.clear
RequestStore.clear!
end
def with_legacy_settings(options, &)
saved_settings = options.keys.inject({}) do |h, k|
h[k] = Setting[k].dup
h
end
options.each { |k, v| Setting[k] = v }
yield
ensure
saved_settings.each { |k, v| Setting[k] = v }
end
# Shoulda macros
def should_assign_to(variable, &block)
# it "assign the instance variable '#{variable}'" do
assert @controller.instance_variables.map(&:to_s).include?("@#{variable}")
if block
expected_result = instance_eval(&block)
assert_equal @controller.instance_variable_get('@' + variable.to_s), expected_result
end
# end
end
def should_render_404
should respond_with :not_found
should render_template 'common/error'
end
def should_respond_with_content_type(content_type)
# it "respond with content type '#{content_type}'" do
assert_equal response.content_type, content_type
# end
end
def assert_error_tag(options = {})
assert_select('body', { attributes: { id: 'errorExplanation' } }.merge(options))
end
def credentials(login, password = nil)
if password.nil?
password = (login == 'admin' ? 'adminADMIN!' : login)
end
{ 'HTTP_AUTHORIZATION' => ActionController::HttpAuthentication::Basic.encode_credentials(login, password) }
end
def repository_configured?(vendor)
self.class.repository_configured?(vendor)
end
module ClassMethods
def ldap_configured?
return false if !!ENV['CI']
@test_ldap = Net::LDAP.new(host: '127.0.0.1', port: 389)
@test_ldap.bind
rescue Exception => e
# LDAP is not listening
nil
end
# Returns the path to the test +vendor+ repository
def repository_path(vendor)
File.join(Rails.root.to_s.gsub(%r{config/\.\.}, ''), "/tmp/test/#{vendor.downcase}_repository")
end
# Returns the url of the subversion test repository
def subversion_repository_url
path = repository_path('subversion')
path = '/' + path unless path.starts_with?('/')
"file://#{path}"
end
# Returns true if the +vendor+ test repository is configured
def repository_configured?(vendor)
File.directory?(repository_path(vendor))
end
end
end
Loading…
Cancel
Save