You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sa...@apache.org on 2016/11/02 23:59:46 UTC
[49/50] [abbrv] lucene-solr:apiv2: merge trunk
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/27baf3fb/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java
----------------------------------------------------------------------
diff --cc solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java
index 5c06d45,6955418..13649e1
--- a/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java
@@@ -20,21 -20,17 +20,19 @@@ import java.lang.invoke.MethodHandles
import java.nio.file.Paths;
import java.util.List;
import java.util.Map;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
+ import org.apache.lucene.util.LuceneTestCase;
+import org.apache.solr.client.solrj.SolrClient;
+ import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.request.GenericSolrRequest;
- import org.apache.solr.client.solrj.response.CollectionAdminResponse;
+import org.apache.solr.client.solrj.response.SimpleSolrResponse;
- import org.apache.solr.cloud.AbstractFullDistribZkTestBase;
+ import org.apache.solr.cloud.SolrCloudTestCase;
import org.apache.solr.common.cloud.DocCollection;
- import org.apache.solr.common.cloud.ImplicitDocRouter;
- import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.ModifiableSolrParams;
+ import org.junit.After;
+ import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.slf4j.Logger;
@@@ -206,23 -161,6 +164,21 @@@ public class RulesTest extends SolrClou
}
+ @Test
+ public void testInvokeApi() throws Exception {
- String baseUrl = getBaseUrl((HttpSolrClient) clients.get(0));
- try (SolrClient client = createNewSolrClient("", baseUrl)) {
++ JettySolrRunner jetty = cluster.getRandomJetty(random());
++ try (SolrClient client = getHttpSolrClient(jetty.getBaseUrl().toString())) {
+ GenericSolrRequest req = new GenericSolrRequest(GET, "/v2/node/invoke", new ModifiableSolrParams()
+ .add("class", ImplicitSnitch.class.getName())
+ .add("cores", "1")
+ .add("freedisk", "1")
+ );
+ SimpleSolrResponse rsp = req.process(client);
+ assertNotNull(((Map) rsp.getResponse().get(ImplicitSnitch.class.getName())).get("cores"));
+ assertNotNull(((Map) rsp.getResponse().get(ImplicitSnitch.class.getName())).get("freedisk"));
+ }
-
-
+ }
+
@Test
public void testModifyColl() throws Exception {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/27baf3fb/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
----------------------------------------------------------------------
diff --cc solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
index 6b18bed,2799078..39b9340
--- a/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
+++ b/solr/core/src/test/org/apache/solr/core/SolrCoreTest.java
@@@ -109,7 -109,9 +109,10 @@@ public class SolrCoreTest extends SolrT
++ihCount; assertEquals(pathToClassMap.get("/update/csv"), "solr.UpdateRequestHandler");
++ihCount; assertEquals(pathToClassMap.get("/update/json"), "solr.UpdateRequestHandler");
++ihCount; assertEquals(pathToClassMap.get("/update/json/docs"), "solr.UpdateRequestHandler");
+ ++ihCount; assertEquals(pathToClassMap.get("/analysis/document"), "solr.DocumentAnalysisRequestHandler");
+ ++ihCount; assertEquals(pathToClassMap.get("/analysis/field"), "solr.FieldAnalysisRequestHandler");
+ ++ihCount; assertEquals(pathToClassMap.get("/debug/dump"), "solr.DumpRequestHandler");
+ ++ihCount; assertEquals(pathToClassMap.get("update"), "solr.UpdateRequestHandlerApi");
}
assertEquals("wrong number of implicit handlers", ihCount, implicitHandlers.size());
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/27baf3fb/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java
----------------------------------------------------------------------
diff --cc solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java
index 3d627aa,0000000..55d4eac
mode 100644,000000..100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java
@@@ -1,115 -1,0 +1,115 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.handler.admin;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.client.solrj.SolrRequest;
+import org.apache.solr.core.CoreContainer;
+import org.apache.solr.api.Api;
+import org.apache.solr.api.ApiBag;
+import org.easymock.EasyMock;
+
+import static org.apache.solr.common.util.Utils.fromJSONString;
+import static org.easymock.EasyMock.anyBoolean;
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.getCurrentArguments;
+
+public class TestCoreAdminApis extends SolrTestCaseJ4 {
+
+ public void testCalls() throws Exception {
+ Map<String, Object[]> calls = new HashMap<>();
+ CoreContainer mockCC = getCoreContainerMock(calls, new HashMap<>());
+
+ CoreAdminHandler coreAdminHandler = new CoreAdminHandler(mockCC);
+ ApiBag apiBag = new ApiBag();
+ for (Api api : coreAdminHandler.getApis()) {
+ apiBag.register(api, Collections.EMPTY_MAP);
+ }
+ TestCollectionAPIs.makeCall(apiBag, "/cores", SolrRequest.METHOD.POST,
+ "{create:{name: hello, instanceDir : someDir, schema: 'schema.xml'}}", mockCC);
+ Object[] params = calls.get("create");
+ assertEquals("hello" ,params[0]);
+ assertEquals(fromJSONString("{schema : schema.xml}") ,params[2]);
+
+ TestCollectionAPIs.makeCall(apiBag, "/cores/core1", SolrRequest.METHOD.POST,
+ "{swap:{with: core2}}", mockCC);
+ params = calls.get("swap");
+ assertEquals("core1" ,params[0]);
+ assertEquals("core2" ,params[1]);
+
+ TestCollectionAPIs.makeCall(apiBag, "/cores/core1", SolrRequest.METHOD.POST,
+ "{rename:{to: core2}}", mockCC);
+ params = calls.get("swap");
+ assertEquals("core1" ,params[0]);
+ assertEquals("core2" ,params[1]);
+
+ TestCollectionAPIs.makeCall(apiBag, "/cores/core1", SolrRequest.METHOD.POST,
+ "{unload:{deleteIndex : true}}", mockCC);
+ params = calls.get("unload");
+ assertEquals("core1" ,params[0]);
+ assertEquals(Boolean.TRUE ,params[1]);
+ }
+
+ public static CoreContainer getCoreContainerMock(final Map<String, Object[]> in,Map<String,Object> out ) {
+ CoreContainer mockCC = EasyMock.createMock(CoreContainer.class);
+ EasyMock.reset(mockCC);
- mockCC.create(anyObject(String.class), anyObject(Path.class) , anyObject(Map.class));
++ mockCC.create(anyObject(String.class), anyObject(Path.class) , anyObject(Map.class), false);
+ EasyMock.expectLastCall().andAnswer(() -> {
+ in.put("create", getCurrentArguments());
+ return null;
+ }).anyTimes();
+ mockCC.swap(anyObject(String.class), anyObject(String.class));
+ EasyMock.expectLastCall().andAnswer(() -> {
+ in.put("swap", getCurrentArguments());
+ return null;
+ }).anyTimes();
+
+ mockCC.rename(anyObject(String.class), anyObject(String.class));
+ EasyMock.expectLastCall().andAnswer(() -> {
+ in.put("rename", getCurrentArguments());
+ return null;
+ }).anyTimes();
+
+ mockCC.unload(anyObject(String.class), anyBoolean(),
+ anyBoolean(), anyBoolean());
+ EasyMock.expectLastCall().andAnswer(() -> {
+ in.put("unload", getCurrentArguments());
+ return null;
+ }).anyTimes();
+
+ mockCC.getCoreRootDirectory();
+ EasyMock.expectLastCall().andAnswer(() -> Paths.get("coreroot")).anyTimes();
+ mockCC.getContainerProperties();
+ EasyMock.expectLastCall().andAnswer(() -> new Properties()).anyTimes();
+
+ mockCC.getRequestHandlers();
+ EasyMock.expectLastCall().andAnswer(() -> out.get("getRequestHandlers")).anyTimes();
+
+ EasyMock.replay(mockCC);
+ return mockCC;
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/27baf3fb/solr/core/src/test/org/apache/solr/rest/schema/TestBulkSchemaAPI.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/27baf3fb/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
----------------------------------------------------------------------
diff --cc solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
index 405bac7,137fcdd..397f4e8
--- a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
@@@ -80,14 -85,7 +85,11 @@@ public class BasicAuthIntegrationTest e
String authcPrefix = "/admin/authentication";
String authzPrefix = "/admin/authorization";
+ if(random().nextBoolean()){
+ authcPrefix = "/v2/cluster/security/authentication";
+ authzPrefix = "/v2/cluster/security/authorization";
+ }
- String old = cloudSolrClient.getDefaultCollection();
- cloudSolrClient.setDefaultCollection(null);
-
NamedList<Object> rsp;
HttpClient cl = null;
try {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/27baf3fb/solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/27baf3fb/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/27baf3fb/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/27baf3fb/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/27baf3fb/solr/test-framework/src/java/org/apache/solr/util/RestTestHarness.java
----------------------------------------------------------------------