diff --git a/Gemfile b/Gemfile index a1f48928..bd445a1e 100644 --- a/Gemfile +++ b/Gemfile @@ -30,9 +30,8 @@ gem 'rack-timeout' gem 'redis-rack-cache', '~> 2.0' # Data access (caching) -gem 'redis', '~> 4.8.1' -gem 'redis-activesupport' -gem 'redis-store', '1.9.1' +gem 'redis' +gem 'redis-store', '~>1.10' # Monitoring gem 'cube-ruby', require: 'cube' @@ -50,8 +49,8 @@ gem 'redcarpet' gem 'ncbo_annotator', git: 'https://github.com/ontoportal-lirmm/ncbo_annotator.git', branch: 'development' gem 'ncbo_cron', git: 'https://github.com/ontoportal-lirmm/ncbo_cron.git', branch: 'master' gem 'ncbo_ontology_recommender', git: 'https://github.com/ncbo/ncbo_ontology_recommender.git', branch: 'master' -gem 'sparql-client', github: 'ontoportal-lirmm/sparql-client', branch: 'master' gem 'goo', github: 'ontoportal-lirmm/goo', branch: 'development' +gem 'sparql-client', github: 'ontoportal-lirmm/sparql-client', branch: 'development' gem 'ontologies_linked_data', git: 'https://github.com/ontoportal-lirmm/ontologies_linked_data.git', branch: 'development' group :development do diff --git a/Gemfile.lock b/Gemfile.lock index 686d7609..d85c4e7e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT GIT remote: https://github.com/ontoportal-lirmm/goo.git - revision: 0e554fce49713ce4d5a742a06c2fb59a547caf47 + revision: b2a635fb1e8206e6e3010be4dbe033b47eb58481 branch: development specs: goo (0.0.2) @@ -57,7 +57,7 @@ GIT GIT remote: https://github.com/ontoportal-lirmm/ontologies_linked_data.git - revision: 135b0df0d6394f69162f496674c5b2f2a3dcba4c + revision: 1278507e6ae8224edca746c7c150775ec2210195 branch: development specs: ontologies_linked_data (0.0.1) @@ -77,13 +77,12 @@ GIT GIT remote: https://github.com/ontoportal-lirmm/sparql-client.git - revision: 180c818f7715baac64b2699bb452ef5c756f62c5 - branch: master + revision: 82302db1bfaec6593f3ea26917d7f2bb2dd485ce + branch: development specs: - sparql-client (1.0.1) - json_pure (>= 1.4) - net-http-persistent (= 2.9.4) - rdf (>= 1.0) + sparql-client (3.2.2) + net-http-persistent (~> 4.0, >= 4.0.2) + rdf (~> 3.2, >= 3.2.11) GIT remote: https://github.com/palexander/rack-post-body-to-params.git @@ -131,6 +130,7 @@ GEM sshkit (~> 1.3) coderay (1.1.3) concurrent-ruby (1.2.3) + connection_pool (2.4.1) crack (1.0.0) bigdecimal rexml @@ -231,7 +231,6 @@ GEM rdf (>= 2.2.8, < 4.0) json-schema (2.8.1) addressable (>= 2.4) - json_pure (2.7.2) jwt (2.8.1) base64 kgio (2.11.4) @@ -257,7 +256,8 @@ GEM multi_json (1.15.0) multipart-post (2.4.0) mutex_m (0.2.0) - net-http-persistent (2.9.4) + net-http-persistent (4.0.2) + connection_pool (~> 2.2) net-imap (0.4.10) date net-protocol @@ -320,15 +320,15 @@ GEM rdf (~> 3.2) rexml (~> 3.2) redcarpet (3.6.0) - redis (4.8.1) - redis-activesupport (5.3.0) - activesupport (>= 3, < 8) - redis-store (>= 1.3, < 2) + redis (5.2.0) + redis-client (>= 0.22.0) + redis-client (0.22.1) + connection_pool redis-rack-cache (2.2.1) rack-cache (>= 1.10, < 2) redis-store (>= 1.6, < 2) - redis-store (1.9.1) - redis (>= 4, < 5) + redis-store (1.10.0) + redis (>= 4, < 6) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) @@ -377,7 +377,7 @@ GEM rack-test sinatra (~> 1.4.0) tilt (>= 1.3, < 3) - sshkit (1.22.1) + sshkit (1.22.2) base64 mutex_m net-scp (>= 1.1.2) @@ -446,10 +446,9 @@ DEPENDENCIES rack-timeout rake (~> 10.0) redcarpet - redis (~> 4.8.1) - redis-activesupport + redis redis-rack-cache (~> 2.0) - redis-store (= 1.9.1) + redis-store (~> 1.10) request_store shotgun! simplecov diff --git a/config/rack_attack.rb b/config/rack_attack.rb index 60d2e3de..88a3e8d6 100644 --- a/config/rack_attack.rb +++ b/config/rack_attack.rb @@ -3,15 +3,14 @@ puts "(API) >> Throttling enabled at #{LinkedData::OntologiesAPI.settings.req_per_second_per_ip} req/sec" require 'rack/attack' -require 'redis-activesupport' use Rack::Attack attack_redis_host_port = { host: LinkedData::OntologiesAPI.settings.http_redis_host, - port: LinkedData::OntologiesAPI.settings.http_redis_port + port: LinkedData::OntologiesAPI.settings.http_redis_port, + db: 1 } -attack_store = ActiveSupport::Cache::RedisStore.new(attack_redis_host_port) -Rack::Attack.cache.store = attack_store +Rack::Attack.cache.store = Redis.new(attack_redis_host_port) safe_ips = LinkedData::OntologiesAPI.settings.safe_ips ||= Set.new safe_ips.each do |safe_ip| diff --git a/controllers/users_controller.rb b/controllers/users_controller.rb index d647c9dc..58e7667f 100644 --- a/controllers/users_controller.rb +++ b/controllers/users_controller.rb @@ -99,14 +99,14 @@ class UsersController < ApplicationController private - def create_user + def create_user(send_notifications: true) params ||= @params user = User.find(params["username"]).first error 409, "User with username `#{params["username"]}` already exists" unless user.nil? params.delete("role") unless current_user.admin? user = instance_from_params(User, params) if user.valid? - user.save(send_notifications: false) + user.save(send_notifications: send_notifications) else error 422, user.errors end diff --git a/test/controllers/test_search_models_controller.rb b/test/controllers/test_search_models_controller.rb index 6b9cef29..8f9a95fb 100644 --- a/test/controllers/test_search_models_controller.rb +++ b/test/controllers/test_search_models_controller.rb @@ -18,7 +18,8 @@ def test_show_all_collection get '/admin/search/collections' assert last_response.ok? res = MultiJson.load(last_response.body) - assert_equal res["collections"].sort, Goo.search_connections.keys.map(&:to_s).sort + array = %w[agents_metadata ontology_data ontology_metadata prop_search_core1 term_search_core1] + assert_equal res["collections"].sort , array.sort end def test_collection_schema @@ -81,7 +82,7 @@ def test_search_security subs = LinkedData::Models::OntologySubmission.all subs.each do |s| s.bring_remaining - s.index_all_data(Logger.new($stdout)) + s.index_all(Logger.new($stdout)) end @@ -416,7 +417,7 @@ def test_agents_search def test_search_data count, acronyms, bro = LinkedData::SampleData::Ontology.create_ontologies_and_submissions({ process_submission: true, - process_options: { process_rdf: true, extract_metadata: false, generate_missing_labels: false}, + process_options: { process_rdf: true, extract_metadata: false, index_all_data: true, generate_missing_labels: false}, acronym: "BROSEARCHTEST", name: "BRO Search Test", file_path: "./test/data/ontology_files/BRO_v3.2.owl", @@ -427,7 +428,7 @@ def test_search_data count, acronyms, mccl = LinkedData::SampleData::Ontology.create_ontologies_and_submissions({ process_submission: true, - process_options: { process_rdf: true, extract_metadata: false, generate_missing_labels: false}, + process_options: { process_rdf: true, extract_metadata: false, index_all_data: true, generate_missing_labels: false}, acronym: "MCCLSEARCHTEST", name: "MCCL Search Test", file_path: "./test/data/ontology_files/CellLine_OWL_BioPortal_v1.0.owl", @@ -439,8 +440,6 @@ def test_search_data subs = LinkedData::Models::OntologySubmission.all count = [] subs.each do |s| - s.bring_remaining - s.index_all_data(Logger.new($stdout)) count << Goo.sparql_query_client.query("SELECT (COUNT( DISTINCT ?id) as ?c) FROM <#{s.id}> WHERE {?id ?p ?v}") .first[:c] .to_i