blacklight-access_controls 6.0.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/main.yml +31 -0
  3. data/.rubocop.yml +1 -4
  4. data/.rubocop_todo.yml +1 -1
  5. data/.solr_wrapper.yml +2 -0
  6. data/README.textile +3 -5
  7. data/Rakefile +2 -0
  8. data/VERSION +1 -1
  9. data/blacklight-access_controls.gemspec +4 -4
  10. data/lib/blacklight/access_controls/enforcement.rb +3 -2
  11. data/solr_conf/conf/_rest_managed.json +3 -0
  12. data/solr_conf/conf/admin-extra.html +12 -5
  13. data/solr_conf/conf/elevate.xml +1 -3
  14. data/solr_conf/conf/mapping-ISOLatin1Accent.txt +76 -76
  15. data/solr_conf/conf/schema.xml +257 -238
  16. data/solr_conf/conf/scripts.conf +24 -0
  17. data/solr_conf/conf/solrconfig.xml +104 -154
  18. data/solr_conf/conf/stopwords.txt +44 -0
  19. data/solr_conf/conf/{lang/stopwords_en.txt → stopwords_en.txt} +5 -1
  20. data/solr_conf/conf/synonyms.txt +5 -3
  21. data/solr_conf/conf/xslt/example.xsl +1 -1
  22. data/solr_conf/conf/xslt/example_atom.xsl +1 -1
  23. data/solr_conf/conf/xslt/example_rss.xsl +1 -1
  24. data/solr_conf/conf/xslt/luke.xsl +3 -3
  25. data/spec/factories/user.rb +1 -1
  26. data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -1
  27. data/spec/unit/blacklight/access_controls/search_builder_spec.rb +3 -5
  28. metadata +15 -70
  29. data/.travis.yml +0 -18
  30. data/solr_conf/conf/abc123 +0 -0
  31. data/solr_conf/conf/admin-extra.menu-bottom.html +0 -25
  32. data/solr_conf/conf/admin-extra.menu-top.html +0 -25
  33. data/solr_conf/conf/clustering/carrot2/kmeans-attributes.xml +0 -19
  34. data/solr_conf/conf/clustering/carrot2/lingo-attributes.xml +0 -24
  35. data/solr_conf/conf/clustering/carrot2/stc-attributes.xml +0 -19
  36. data/solr_conf/conf/currency.xml +0 -67
  37. data/solr_conf/conf/dataimport.properties +0 -3
  38. data/solr_conf/conf/db-data-config.xml +0 -93
  39. data/solr_conf/conf/lang/contractions_ca.txt +0 -8
  40. data/solr_conf/conf/lang/contractions_fr.txt +0 -15
  41. data/solr_conf/conf/lang/contractions_ga.txt +0 -5
  42. data/solr_conf/conf/lang/contractions_it.txt +0 -23
  43. data/solr_conf/conf/lang/hyphenations_ga.txt +0 -5
  44. data/solr_conf/conf/lang/stemdict_nl.txt +0 -6
  45. data/solr_conf/conf/lang/stoptags_ja.txt +0 -420
  46. data/solr_conf/conf/lang/stopwords_ar.txt +0 -125
  47. data/solr_conf/conf/lang/stopwords_bg.txt +0 -193
  48. data/solr_conf/conf/lang/stopwords_ca.txt +0 -220
  49. data/solr_conf/conf/lang/stopwords_ckb.txt +0 -136
  50. data/solr_conf/conf/lang/stopwords_cz.txt +0 -172
  51. data/solr_conf/conf/lang/stopwords_da.txt +0 -110
  52. data/solr_conf/conf/lang/stopwords_de.txt +0 -294
  53. data/solr_conf/conf/lang/stopwords_el.txt +0 -78
  54. data/solr_conf/conf/lang/stopwords_es.txt +0 -356
  55. data/solr_conf/conf/lang/stopwords_eu.txt +0 -99
  56. data/solr_conf/conf/lang/stopwords_fa.txt +0 -313
  57. data/solr_conf/conf/lang/stopwords_fi.txt +0 -97
  58. data/solr_conf/conf/lang/stopwords_fr.txt +0 -186
  59. data/solr_conf/conf/lang/stopwords_ga.txt +0 -110
  60. data/solr_conf/conf/lang/stopwords_gl.txt +0 -161
  61. data/solr_conf/conf/lang/stopwords_hi.txt +0 -235
  62. data/solr_conf/conf/lang/stopwords_hu.txt +0 -211
  63. data/solr_conf/conf/lang/stopwords_hy.txt +0 -46
  64. data/solr_conf/conf/lang/stopwords_id.txt +0 -359
  65. data/solr_conf/conf/lang/stopwords_it.txt +0 -303
  66. data/solr_conf/conf/lang/stopwords_ja.txt +0 -127
  67. data/solr_conf/conf/lang/stopwords_lv.txt +0 -172
  68. data/solr_conf/conf/lang/stopwords_nl.txt +0 -119
  69. data/solr_conf/conf/lang/stopwords_no.txt +0 -194
  70. data/solr_conf/conf/lang/stopwords_pt.txt +0 -253
  71. data/solr_conf/conf/lang/stopwords_ro.txt +0 -233
  72. data/solr_conf/conf/lang/stopwords_ru.txt +0 -243
  73. data/solr_conf/conf/lang/stopwords_sv.txt +0 -133
  74. data/solr_conf/conf/lang/stopwords_th.txt +0 -119
  75. data/solr_conf/conf/lang/stopwords_tr.txt +0 -212
  76. data/solr_conf/conf/lang/userdict_ja.txt +0 -29
  77. data/solr_conf/conf/mapping-FoldToASCII.txt +0 -3813
  78. data/solr_conf/conf/solrconfig.adams.xml +0 -1903
  79. data/solr_conf/conf/solrconfig.old.xml +0 -1634
  80. data/solr_conf/conf/solrconfig.xml.orig +0 -3531
  81. data/solr_conf/conf/update-script.js +0 -53
  82. data/solr_conf/conf/xslt/updateXml.xsl +0 -70
@@ -0,0 +1,24 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one or more
2
+ # contributor license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright ownership.
4
+ # The ASF licenses this file to You under the Apache License, Version 2.0
5
+ # (the "License"); you may not use this file except in compliance with
6
+ # the License. You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ user=
17
+ solr_hostname=localhost
18
+ solr_port=8983
19
+ rsyncd_port=18983
20
+ data_dir=
21
+ webapp_name=solr
22
+ master_host=
23
+ master_data_dir=
24
+ master_status_dir=
@@ -1,86 +1,28 @@
1
1
  <?xml version="1.0" encoding="UTF-8" ?>
2
- <!--
3
- Licensed to the Apache Software Foundation (ASF) under one or more
4
- contributor license agreements. See the NOTICE file distributed with
5
- this work for additional information regarding copyright ownership.
6
- The ASF licenses this file to You under the Apache License, Version 2.0
7
- (the "License"); you may not use this file except in compliance with
8
- the License. You may obtain a copy of the License at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- Unless required by applicable law or agreed to in writing, software
13
- distributed under the License is distributed on an "AS IS" BASIS,
14
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- See the License for the specific language governing permissions and
16
- limitations under the License.
17
- -->
18
-
19
- <!--
20
- This is a stripped down config file used for a simple example...
21
- It is *not* a good example to work from.
22
- -->
23
2
  <config>
24
-
25
- <!-- Controls what version of Lucene various components of Solr
26
- adhere to. Generally, you want to use the latest version to
27
- get all bug fixes and improvements. It is highly recommended
28
- that you fully re-index after changing this setting as it can
29
- affect both how text is indexed and queried.
30
- -->
31
- <luceneMatchVersion>5.0.0</luceneMatchVersion>
32
-
33
- <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib" />
34
- <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" />
35
- <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
36
- <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />
37
-
38
- <directoryFactory name="DirectoryFactory"
39
- class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}">
40
- </directoryFactory>
3
+ <!-- NOTE: various comments and unused configuration possibilities have been purged
4
+ from this file. Please refer to http://wiki.apache.org/solr/SolrConfigXml,
5
+ as well as the default solrconfig file included with Solr -->
41
6
 
42
- <codecFactory class="solr.SchemaCodecFactory"/>
7
+ <abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
43
8
 
44
- <schemaFactory class="ClassicIndexSchemaFactory"/>
45
-
46
-
47
- <dataDir>${solr.blacklight-core.data.dir:}</dataDir>
48
-
49
- <requestDispatcher handleSelect="true" >
50
- <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048000" />
51
- </requestDispatcher>
52
-
53
- <requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
9
+ <luceneMatchVersion>6.1.0</luceneMatchVersion>
54
10
 
55
- <!-- config for the admin interface -->
56
- <admin>
57
- <defaultQuery>*:*</defaultQuery>
58
- </admin>
11
+ <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
59
12
 
60
13
  <updateHandler class="solr.DirectUpdateHandler2">
61
14
  <updateLog>
62
- <str name="dir">${solr.ulog.dir:}</str>
15
+ <str name="dir">${solr.core0.data.dir:}</str>
63
16
  </updateLog>
64
-
65
- <autoCommit>
66
- <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
67
- <openSearcher>false</openSearcher>
68
- </autoCommit>
69
-
70
- <autoSoftCommit>
71
- <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
72
- </autoSoftCommit>
73
17
  </updateHandler>
74
18
 
75
- <!-- SearchHandler
19
+ <!-- solr lib dirs, which are needed for Solr 8 compatibility but ignored in solr 9.8 and above -->
20
+ <lib dir="${solr.install.dir:../../../..}/modules/analysis-extras/lib" />
21
+ <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib" />
22
+ <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" />
76
23
 
77
- http://wiki.apache.org/solr/SearchHandler
24
+ <dataDir>${solr.data.dir:}</dataDir>
78
25
 
79
- For processing Search Queries, the primary Request Handler
80
- provided with Solr is "SearchHandler" It delegates to a sequent
81
- of SearchComponents (see below) and supports distributed
82
- queries across multiple shards
83
- -->
84
26
  <requestHandler name="search" class="solr.SearchHandler" default="true">
85
27
  <!-- default values for query parameters can be specified, these
86
28
  will be overridden by parameters in the request
@@ -102,27 +44,33 @@
102
44
  -->
103
45
  <str name="qf">
104
46
  id
105
- active_fedora_model_ssi
106
- title_tesim
107
- author_tesim
108
- subject_tesim
47
+ full_title_tsim
48
+ short_title_tsim
49
+ alternative_title_tsim
50
+ title_tsim
51
+ author_tsim
52
+ subject_tsim
53
+ all_text_timv
109
54
  </str>
110
55
  <str name="pf">
111
56
  all_text_timv^10
112
57
  </str>
113
58
 
114
59
  <str name="author_qf">
115
- author_tesim
60
+ author_tsim
116
61
  </str>
117
62
  <str name="author_pf">
118
63
  </str>
119
64
  <str name="title_qf">
120
- title_tesim
65
+ title_tsim
66
+ full_title_tsim
67
+ short_title_tsim
68
+ alternative_title_tsim
121
69
  </str>
122
70
  <str name="title_pf">
123
71
  </str>
124
72
  <str name="subject_qf">
125
- subject_tesim
73
+ subject_tsim
126
74
  </str>
127
75
  <str name="subject_pf">
128
76
  </str>
@@ -134,6 +82,75 @@
134
82
 
135
83
  <str name="facet">true</str>
136
84
  <str name="facet.mincount">1</str>
85
+ <str name="facet.limit">10</str>
86
+ <str name="facet.field">subject_ssim</str>
87
+
88
+ <str name="spellcheck">true</str>
89
+ <str name="spellcheck.dictionary">default</str>
90
+ <str name="spellcheck.onlyMorePopular">true</str>
91
+ <str name="spellcheck.extendedResults">true</str>
92
+ <str name="spellcheck.collate">false</str>
93
+ <str name="spellcheck.count">5</str>
94
+
95
+ </lst>
96
+ <arr name="last-components">
97
+ <str>spellcheck</str>
98
+ </arr>
99
+ </requestHandler>
100
+
101
+ <requestHandler name="/advanced" class="solr.SearchHandler">
102
+ <!-- a lucene request handler for using the JSON Query DSL,
103
+ specifically for advanced search.
104
+ Using a separate requestHandler is a workaround to
105
+ https://issues.apache.org/jira/browse/SOLR-16916, although
106
+ it could be desirable for other reasons as well.
107
+ -->
108
+ <lst name="defaults">
109
+ <str name="defType">lucene</str>
110
+ <str name="echoParams">explicit</str>
111
+ <str name="df">title_tsim</str>
112
+ <str name="qf">
113
+ id
114
+ full_title_tsim
115
+ short_title_tsim
116
+ alternative_title_tsim
117
+ title_tsim
118
+ author_tsim
119
+ subject_tsim
120
+ all_text_timv
121
+ </str>
122
+ <str name="pf">
123
+ all_text_timv^10
124
+ </str>
125
+
126
+ <str name="author_qf">
127
+ author_tsim
128
+ </str>
129
+ <str name="author_pf">
130
+ </str>
131
+ <str name="title_qf">
132
+ title_tsim
133
+ full_title_tsim
134
+ short_title_tsim
135
+ alternative_title_tsim
136
+ </str>
137
+ <str name="title_pf">
138
+ </str>
139
+ <str name="subject_qf">
140
+ subject_tsim
141
+ </str>
142
+ <str name="subject_pf">
143
+ </str>
144
+
145
+ <str name="fl">
146
+ *,
147
+ score
148
+ </str>
149
+
150
+ <str name="facet">true</str>
151
+ <str name="facet.mincount">1</str>
152
+ <str name="facet.limit">10</str>
153
+ <str name="facet.field">subject_ssim</str>
137
154
 
138
155
  <str name="spellcheck">true</str>
139
156
  <str name="spellcheck.dictionary">default</str>
@@ -167,6 +184,7 @@
167
184
  inheritable_discover_access_group_ssim,inheritable_discover_access_person_ssim,
168
185
  inheritable_read_access_group_ssim,inheritable_read_access_person_ssim,
169
186
  inheritable_edit_access_group_ssim,inheritable_edit_access_person_ssim,
187
+ inheritable_download_access_group_ssim,inheritable_download_access_person_ssim,
170
188
  inheritable_embargo_release_date_dtsi
171
189
  </str>
172
190
  </lst>
@@ -179,33 +197,11 @@
179
197
  </lst>
180
198
  </requestHandler>
181
199
 
182
- <!-- for requests to get a single document; use id=666 instead of q=id:666 -->
183
- <requestHandler name="document" class="solr.SearchHandler" >
184
- <lst name="defaults">
185
- <str name="echoParams">all</str>
186
- <str name="fl">*</str>
187
- <str name="rows">1</str>
188
- <str name="q">{!term f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
189
- </lst>
190
- </requestHandler>
191
-
192
- <!-- Spell Check
193
200
 
194
- The spell check component can return a list of alternative spelling
195
- suggestions.
196
-
197
- http://wiki.apache.org/solr/SpellCheckComponent
198
- -->
199
201
  <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
200
-
201
202
  <str name="queryAnalyzerFieldType">textSpell</str>
202
-
203
- <!-- Multiple "Spell Checkers" can be declared and used by this
204
- component
205
- -->
206
-
207
- <!-- a spellchecker built from a field of the main index, and
208
- written to disk
203
+ <!-- Multiple "Spell Checkers" can be declared and used by this component
204
+ (e.g. for title_spell field)
209
205
  -->
210
206
  <lst name="spellchecker">
211
207
  <str name="name">default</str>
@@ -234,45 +230,6 @@
234
230
  <str name="accuracy">0.7</str>
235
231
  <str name="buildOnOptimize">true</str>
236
232
  </lst>
237
-
238
- <!-- a spellchecker that uses a different distance measure -->
239
- <!--
240
- <lst name="spellchecker">
241
- <str name="name">jarowinkler</str>
242
- <str name="field">spell</str>
243
- <str name="distanceMeasure">
244
- org.apache.lucene.search.spell.JaroWinklerDistance
245
- </str>
246
- <str name="spellcheckIndexDir">spellcheckerJaro</str>
247
- </lst>
248
- -->
249
-
250
- <!-- a spellchecker that use an alternate comparator
251
-
252
- comparatorClass be one of:
253
- 1. score (default)
254
- 2. freq (Frequency first, then score)
255
- 3. A fully qualified class name
256
- -->
257
- <!--
258
- <lst name="spellchecker">
259
- <str name="name">freq</str>
260
- <str name="field">lowerfilt</str>
261
- <str name="spellcheckIndexDir">spellcheckerFreq</str>
262
- <str name="comparatorClass">freq</str>
263
- <str name="buildOnCommit">true</str>
264
- -->
265
-
266
- <!-- A spellchecker that reads the list of words from a file -->
267
- <!--
268
- <lst name="spellchecker">
269
- <str name="classname">solr.FileBasedSpellChecker</str>
270
- <str name="name">file</str>
271
- <str name="sourceLocation">spellings.txt</str>
272
- <str name="characterEncoding">UTF-8</str>
273
- <str name="spellcheckIndexDir">spellcheckerFile</str>
274
- </lst>
275
- -->
276
233
  </searchComponent>
277
234
 
278
235
  <searchComponent name="suggest" class="solr.SuggestComponent">
@@ -296,18 +253,11 @@
296
253
  </arr>
297
254
  </requestHandler>
298
255
 
299
- <requestHandler name="/update/extract" class="org.apache.solr.handler.extraction.ExtractingRequestHandler">
300
- <lst name="defaults">
301
- <str name="fmap.Last-Modified">last_modified</str>
302
- <str name="uprefix">ignored_</str>
303
- </lst>
304
- <!--Optional. Specify a path to a tika configuration file. See the Tika docs for details.-->
305
- <!-- <str name="tika.config">/my/path/to/tika.config</str> -->
306
- <!-- Optional. Specify one or more date formats to parse. See DateUtil.DEFAULT_DATE_FORMATS
307
- for default date formats -->
308
- <!-- <lst name="date.formats"> -->
309
- <!-- <str>yyyy&#45;MM&#45;dd</str> -->
310
- <!-- </lst> -->
311
- </requestHandler>
312
- </config>
256
+ <requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
313
257
 
258
+ <requestDispatcher handleSelect="true" >
259
+ <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
260
+ </requestDispatcher>
261
+
262
+ <requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
263
+ </config>
@@ -12,3 +12,47 @@
12
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
+
16
+ #-----------------------------------------------------------------------
17
+ # a couple of test stopwords to test that the words are really being
18
+ # configured from this file:
19
+ stopworda
20
+ stopwordb
21
+
22
+ #Standard english stop words taken from Lucene's StopAnalyzer
23
+ a
24
+ an
25
+ and
26
+ are
27
+ as
28
+ at
29
+ be
30
+ but
31
+ by
32
+ for
33
+ if
34
+ in
35
+ into
36
+ is
37
+ it
38
+ no
39
+ not
40
+ of
41
+ on
42
+ or
43
+ s
44
+ such
45
+ t
46
+ that
47
+ the
48
+ their
49
+ then
50
+ there
51
+ these
52
+ they
53
+ this
54
+ to
55
+ was
56
+ will
57
+ with
58
+
@@ -13,12 +13,13 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
+ #-----------------------------------------------------------------------
16
17
  # a couple of test stopwords to test that the words are really being
17
18
  # configured from this file:
18
19
  stopworda
19
20
  stopwordb
20
21
 
21
- # Standard english stop words taken from Lucene's StopAnalyzer
22
+ #Standard english stop words taken from Lucene's StopAnalyzer
22
23
  a
23
24
  an
24
25
  and
@@ -39,7 +40,9 @@ not
39
40
  of
40
41
  on
41
42
  or
43
+ s
42
44
  such
45
+ t
43
46
  that
44
47
  the
45
48
  their
@@ -52,3 +55,4 @@ to
52
55
  was
53
56
  will
54
57
  with
58
+
@@ -12,9 +12,11 @@
12
12
 
13
13
  #-----------------------------------------------------------------------
14
14
  #some test synonym mappings unlikely to appear in real input text
15
- aaafoo => aaabar
16
- bbbfoo => bbbfoo bbbbar
17
- cccfoo => cccbar cccbaz
15
+ aaa => aaaa
16
+ bbb => bbbb1 bbbb2
17
+ ccc => cccc1,cccc2
18
+ a\=>a => b\=>b
19
+ a\,a => b\,b
18
20
  fooaaa,baraaa,bazaaa
19
21
 
20
22
  # Some synonym groups specific to this example
@@ -24,7 +24,7 @@
24
24
  xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
25
25
  >
26
26
 
27
- <xsl:output media-type="text/html" encoding="UTF-8"/>
27
+ <xsl:output media-type="text/html; charset=UTF-8" encoding="UTF-8"/>
28
28
 
29
29
  <xsl:variable name="title" select="concat('Solr search results (',response/result/@numFound,' documents)')"/>
30
30
 
@@ -27,7 +27,7 @@
27
27
  <xsl:output
28
28
  method="xml"
29
29
  encoding="utf-8"
30
- media-type="application/xml"
30
+ media-type="text/xml; charset=UTF-8"
31
31
  />
32
32
 
33
33
  <xsl:template match='/'>
@@ -27,7 +27,7 @@
27
27
  <xsl:output
28
28
  method="xml"
29
29
  encoding="utf-8"
30
- media-type="application/xml"
30
+ media-type="text/xml; charset=UTF-8"
31
31
  />
32
32
  <xsl:template match='/'>
33
33
  <rss version="2.0">
@@ -28,7 +28,7 @@
28
28
  <xsl:output
29
29
  method="html"
30
30
  encoding="UTF-8"
31
- media-type="text/html"
31
+ media-type="text/html; charset=UTF-8"
32
32
  doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
33
33
  doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
34
34
  />
@@ -39,8 +39,8 @@
39
39
  <html xmlns="http://www.w3.org/1999/xhtml">
40
40
  <head>
41
41
  <link rel="stylesheet" type="text/css" href="solr-admin.css"/>
42
- <link rel="icon" href="favicon.ico" type="image/x-icon"/>
43
- <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
42
+ <link rel="icon" href="favicon.ico" type="image/ico"/>
43
+ <link rel="shortcut icon" href="favicon.ico" type="image/ico"/>
44
44
  <title>
45
45
  <xsl:value-of select="$title"/>
46
46
  </title>
@@ -3,6 +3,6 @@
3
3
  FactoryBot.define do
4
4
  factory :user do
5
5
  sequence(:email) { |n| "user_#{n}@example.com" }
6
- password 'password'
6
+ password { 'password' }
7
7
  end
8
8
  end
@@ -11,7 +11,7 @@ class TestAppGenerator < Rails::Generators::Base
11
11
 
12
12
  def generate_blacklight
13
13
  say_status('status', 'GENERATING BLACKLIGHT', :yellow)
14
- generate 'blacklight:install', '--devise'
14
+ generate 'blacklight:install', '--devise --skip-assets'
15
15
  end
16
16
 
17
17
  def configure_blacklight
@@ -1,12 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  RSpec.describe Blacklight::AccessControls::SearchBuilder do
4
- subject { search_builder }
4
+ subject(:search_builder) { described_class.new scope, ability: ability }
5
5
 
6
- let(:search_builder) do
7
- described_class.new(controller, ability: ability)
8
- end
9
- let(:controller) { double }
6
+ let(:blacklight_config) { Blacklight::Configuration.new }
7
+ let(:scope) { double blacklight_config: blacklight_config, search_state_class: nil }
10
8
  let(:user) { User.new }
11
9
  let(:ability) { Ability.new(user) }
12
10