force-rest-api
force-rest-api copied to clipboard
Add search by SOSL support
I want to implement the search function, so I wrote a little code for this.
#91
Cloud you please review it, and merge to master branch?
If have any concern, please info me.
Please review the code, if you have moment.
Hi team, can someone please review this pull request. We need to use SOSL in our project.
@EINDEX, maybe it will be better to add some tests for your code.
@ubinexy I add some test code on this
Thanks! I will take a look when I find some time.
On Mon, May 17, 2021 at 8:35 PM Baikang @.***> wrote:
@ubinexy https://github.com/ubinexy I add some test code on this
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jesperfj/force-rest-api/pull/92#issuecomment-842799996, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACFJLG2BO5A35JTKVBAF2LTOHOBVANCNFSM4UNFTXKQ .
I am getting errors when running the tests:
[main] INFO com.force.api.http.Http - Bad response code: 400 on request: GET https://na111.salesforce.com/services/data/v51.0/search/?q=FIND+%7Bname%7D+IN+ALL+TYPE+RETURNING+Account%28name%29
[main] INFO com.force.api.http.Http - Bad response code: 400 on request: GET https://na111.salesforce.com/services/data/v51.0/search/?q=FIND+%7Bname%7D+IN+ALL+TYPE+RETURNING+Account%28Name%2C+CreatedDate%29
Tests run: 3, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 3.357 sec <<< FAILURE!
testUntypedSearch(com.force.api.SearchTest) Time elapsed: 2.397 sec <<< ERROR!
com.force.api.ApiException: [{"message":"\nFIND {name} IN ALL TYPE RETURNING Account(name)\n ^\nERROR at Row:1:Column:19\nMalformed search token: TYPE","errorCode":"MALFORMED_SEARCH"}]
at com.force.api.ForceApi.apiRequest(ForceApi.java:558)
at com.force.api.ForceApi.searchAny(ForceApi.java:388)
at com.force.api.ForceApi.searchBySOSL(ForceApi.java:380)
at com.force.api.ForceApi.searchBySOSL(ForceApi.java:375)
at com.force.api.SearchTest.testUntypedSearch(SearchTest.java:42)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
testTypedSearch(com.force.api.SearchTest) Time elapsed: 0.283 sec <<< ERROR!
com.force.api.ApiException: [{"message":"\nFIND {name} IN ALL TYPE RETURNING Account(Name, CreatedDate)\n ^\nERROR at Row:1:Column:19\nMalformed search token: TYPE","errorCode":"MALFORMED_SEARCH"}]
at com.force.api.ForceApi.apiRequest(ForceApi.java:558)
at com.force.api.ForceApi.searchAny(ForceApi.java:388)
at com.force.api.ForceApi.searchBySOSL(ForceApi.java:380)
at com.force.api.SearchTest.testTypedSearch(SearchTest.java:49)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Hi @jesperfj,
Sorry for a long time no updating, After the log4j issue, I just realize here.
There are some SOQL query syntax issues.
Fix that now.
If you have time, please take a look on it, Regards.
Hi @jesperfj,
Just bumping up for this. If you got some time, could you re-check this?
Thanks.