Skip to content

Commit e0fe3a4

Browse files
Copilotnixel2007
andcommitted
Simplify test approach by mocking clientCapabilitiesHolder directly
Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
1 parent 0ba2aac commit e0fe3a4

File tree

1 file changed

+7
-22
lines changed

1 file changed

+7
-22
lines changed

src/test/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentServiceTest.java

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
package com.github._1c_syntax.bsl.languageserver;
2323

2424
import com.github._1c_syntax.bsl.languageserver.context.ServerContext;
25-
import com.github._1c_syntax.bsl.languageserver.events.LanguageServerInitializeRequestReceivedEvent;
2625
import com.github._1c_syntax.bsl.languageserver.jsonrpc.DiagnosticParams;
2726
import com.github._1c_syntax.bsl.languageserver.providers.DiagnosticProvider;
2827
import com.github._1c_syntax.bsl.languageserver.util.CleanupContextBeforeClassAndAfterClass;
@@ -37,7 +36,6 @@
3736
import org.eclipse.lsp4j.DidSaveTextDocumentParams;
3837
import org.eclipse.lsp4j.DocumentDiagnosticParams;
3938
import org.eclipse.lsp4j.ImplementationParams;
40-
import org.eclipse.lsp4j.InitializeParams;
4139
import org.eclipse.lsp4j.Position;
4240
import org.eclipse.lsp4j.PrepareRenameParams;
4341
import org.eclipse.lsp4j.RenameParams;
@@ -46,11 +44,9 @@
4644
import org.eclipse.lsp4j.TextDocumentIdentifier;
4745
import org.eclipse.lsp4j.TextDocumentItem;
4846
import org.eclipse.lsp4j.VersionedTextDocumentIdentifier;
49-
import org.eclipse.lsp4j.services.LanguageServer;
5047
import org.junit.jupiter.api.Test;
5148
import org.springframework.beans.factory.annotation.Autowired;
5249
import org.springframework.boot.test.context.SpringBootTest;
53-
import org.springframework.context.ApplicationEventPublisher;
5450
import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;
5551

5652
import java.io.File;
@@ -59,15 +55,16 @@
5955
import java.nio.charset.StandardCharsets;
6056
import java.util.ArrayList;
6157
import java.util.List;
58+
import java.util.Optional;
6259
import java.util.concurrent.ExecutionException;
6360

6461
import static org.assertj.core.api.Assertions.assertThat;
6562
import static org.awaitility.Awaitility.await;
6663
import static org.mockito.ArgumentMatchers.any;
6764
import static org.mockito.Mockito.clearInvocations;
68-
import static org.mockito.Mockito.mock;
6965
import static org.mockito.Mockito.never;
7066
import static org.mockito.Mockito.verify;
67+
import static org.mockito.Mockito.when;
7168

7269
@SpringBootTest
7370
@CleanupContextBeforeClassAndAfterClass
@@ -79,9 +76,7 @@ class BSLTextDocumentServiceTest {
7976
private ServerContext serverContext;
8077
@MockitoSpyBean
8178
private DiagnosticProvider diagnosticProvider;
82-
@Autowired
83-
private ApplicationEventPublisher eventPublisher;
84-
@Autowired
79+
@MockitoSpyBean
8580
private ClientCapabilitiesHolder clientCapabilitiesHolder;
8681

8782

@@ -216,13 +211,8 @@ void didClosePublishesEmptyDiagnosticsWhenClientDoesNotSupportPullDiagnostics()
216211
// Simulate client without pull diagnostics support
217212
var capabilities = new ClientCapabilities();
218213
// No TextDocumentClientCapabilities.diagnostic set
219-
clientCapabilitiesHolder.setCapabilities(capabilities);
220-
221-
var languageServer = mock(LanguageServer.class);
222-
var params = new InitializeParams();
223-
params.setCapabilities(capabilities);
224-
var event = new LanguageServerInitializeRequestReceivedEvent(languageServer, params);
225-
eventPublisher.publishEvent(event);
214+
when(clientCapabilitiesHolder.getCapabilities()).thenReturn(Optional.of(capabilities));
215+
textDocumentService.handleInitializeEvent(null);
226216

227217
// Clear any invocations from didOpen
228218
clearInvocations(diagnosticProvider);
@@ -248,13 +238,8 @@ void didCloseDoesNotPublishEmptyDiagnosticsWhenClientSupportsPullDiagnostics() t
248238
var textDocumentCapabilities = new TextDocumentClientCapabilities();
249239
textDocumentCapabilities.setDiagnostic(new DiagnosticCapabilities());
250240
capabilities.setTextDocument(textDocumentCapabilities);
251-
clientCapabilitiesHolder.setCapabilities(capabilities);
252-
253-
var languageServer = mock(LanguageServer.class);
254-
var params = new InitializeParams();
255-
params.setCapabilities(capabilities);
256-
var event = new LanguageServerInitializeRequestReceivedEvent(languageServer, params);
257-
eventPublisher.publishEvent(event);
241+
when(clientCapabilitiesHolder.getCapabilities()).thenReturn(Optional.of(capabilities));
242+
textDocumentService.handleInitializeEvent(null);
258243

259244
// Clear any invocations from didOpen
260245
clearInvocations(diagnosticProvider);

0 commit comments

Comments
 (0)