Skip to content

Commit f54c10c

Browse files
cx-aniket-shindeclaudecx-noam-brendelstepsecurity-app[bot]cx-alon-rosenhek
authored
integration branch for multiple pr (AST-136045) (#258)
* docs AST-146800: Add Cloud.md standardization file Adds the Cloud.md documentation file covering all essential sections: Project Overview, Architecture, Repository Structure, Technology Stack, Development Setup, Coding Standards, Project Rules, Testing Strategy, Known Issues — plus recommended sections: External Integrations, Deployment, Security & Access, Logging, and Debugging Steps. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * AST-101305: Disable Branch and Scan dropdown when no project is selected - Add FocusListener to project combo viewer - When user clears project and clicks outside, branch combo is disabled - Resets currentProjectId to empty when project field is cleared - Preserves existing behavior for all other scenarios Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> * Fix: Route authentication logs to Eclipse Error Log (AST-136023) (#244) * Fix AST-136023: Route authentication logs to Eclipse Error Log Replace SLF4J log calls in Authenticator.doAuthentication() with CxLogger so auth success/failure messages appear in .metadata/.log and the Eclipse Error Log UI instead of being silently dropped. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * Fix AST-136023: Update unit tests to verify CxLogger static calls Replace SLF4J mockLogger verification with MockedStatic<CxLogger> to match the updated Authenticator.doAuthentication() which now routes log output through CxLogger instead of the SLF4J instance. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * Refactor AST-136023: Use String.format for authentication status log message Replace string concatenation (AUTH_STATUS + cxValidateOutput) with String.format(PluginConstants.INFO_AUTHENTICATION_STATUS, cxValidateOutput) to be consistent with the error logging pattern. Updated the unit test assertion to verify the formatted string accordingly. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * Fix: Clear detail panels on severity filter change (AST-136035) (#245) * Fix AST-136035: Clear detail panels on severity filter change; fix scan ID combo overflow - Hide resultViewComposite and attackVectorCompositePanel when filter changes so the description and attack vector windows no longer show stale content - Replace fixed widthHint=520 on scan ID combo with SWT.FILL/grabExcess layout so the combo is always visible without needing to maximize the window Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * Fix AST-136035: Clear right panels only when displayed item's severity is filtered out Previously, toggling any severity filter always hid the description and attack vector panels. Now the panels are only cleared when the currently displayed item belongs to a severity that was just disabled. If the item's severity is still active, the panels stay visible. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * Fix AST-136035: Preserve tree expansion state when severity filter changes - Capture expanded elements before clearing the model so the snapshot is accurate when restoring after refresh - Pass expand=true for FILTER_CHANGED (keep GET_RESULTS at false) so previously expanded group nodes are restored after filtering instead of collapsing the entire tree Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * Fix: Truncate long custom state names in filter menu (AST-137779) (#246) * Fix AST-137779: Truncate long custom state names in filter menu and triage combo Custom states with very long names caused the state filter dropdown menu to expand across the entire screen. Fix truncates display text to 50 chars (with trailing "...") in both the state filter MenuItem and the triage state ComboViewer LabelProvider. The full state name is still used internally for filtering and triage submission. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * Fix AST-137779: Guard against null getResults() in cxProjectMatchesWorkspaceProject Results.getResults() can return null when no results have been loaded yet (e.g. fresh IDE session before any scan is imported). The prior check only guarded against a null Results object, causing an NPE on the first click of the Start Scan button and preventing scans from running. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * Toolyip custom state * Parity and project combobox * CISO-920: remove broken Teams notify job (secret CXONE_SCAN_WEBHOOK_URL not set) (#250) The notify job references secrets.CXONE_SCAN_WEBHOOK_URL which does not exist in this repo or at org level, causing the step to fail silently. Ref: https://checkmarx.atlassian.net/browse/CISO-920 Ref: https://checkmarx.atlassian.net/browse/CISO-815 * [StepSecurity] Apply security best practices (#251) Signed-off-by: StepSecurity Bot <bot@stepsecurity.io> Co-authored-by: stepsecurity-app[bot] <188008098+stepsecurity-app[bot]@users.noreply.github.com> * [StepSecurity] Apply security best practices (#252) Signed-off-by: StepSecurity Bot <bot@stepsecurity.io> Co-authored-by: stepsecurity-app[bot] <188008098+stepsecurity-app[bot]@users.noreply.github.com> * remove dependabot (#254) * rerun * Bumped java wrapper version * bump java wrapper version to 2.4.24 --------- Signed-off-by: StepSecurity Bot <bot@stepsecurity.io> Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Noam Brendel <139764378+cx-noam-brendel@users.noreply.github.com> Co-authored-by: stepsecurity-app[bot] <188008098+stepsecurity-app[bot]@users.noreply.github.com> Co-authored-by: Alon Rosenhek <80337069+cx-alon-rosenhek@users.noreply.github.com> Co-authored-by: Nisan Ben Abu <nisan.ben-abu@checkmarx.com> Co-authored-by: atishj99 <atish.jadhav@checkmarx.com>
1 parent edc1d3e commit f54c10c

21 files changed

Lines changed: 594 additions & 42 deletions

File tree

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.18.jar filter=lfs diff
1212
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.20.jar filter=lfs diff=lfs merge=lfs -text
1313
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.21.jar filter=lfs diff=lfs merge=lfs -text
1414
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.23.jar filter=lfs diff=lfs merge=lfs -text
15+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.24.jar filter=lfs diff=lfs merge=lfs -text

Cloud.md

Lines changed: 346 additions & 0 deletions
Large diffs are not rendered by default.

ast-cli-java-wrapper.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.4.23
1+
2.4.24

checkmarx-ast-eclipse-plugin-tests/src/test/java/checkmarx/ast/eclipse/plugin/tests/ui/BaseUITest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
public abstract class BaseUITest {
2828

29-
private static final String INFO_SUCCESSFUL_CONNECTION = "Successfully authenticated to Checkmarx One server!";
29+
private static final String INFO_SUCCESSFUL_CONNECTION = "You are connected to Checkmarx One";
3030

3131
protected static final String ASSERT_FILTER_ACTIONS_IN_TOOLBAR = "All filter actions must be in the tool bar";
3232

checkmarx-ast-eclipse-plugin-tests/src/test/java/checkmarx/ast/eclipse/plugin/tests/unit/runner/AuthenticatorTest.java

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@
77

88
import org.junit.jupiter.api.Test;
99
import org.mockito.MockedConstruction;
10+
import org.mockito.MockedStatic;
1011
import org.mockito.Mockito;
1112
import org.slf4j.Logger;
1213

1314
import com.checkmarx.ast.wrapper.CxException;
1415
import com.checkmarx.ast.wrapper.CxWrapper;
1516
import com.checkmarx.eclipse.runner.Authenticator;
17+
import com.checkmarx.eclipse.utils.CxLogger;
1618
import com.checkmarx.eclipse.utils.PluginConstants;
1719

1820
class AuthenticatorTest {
@@ -24,14 +26,15 @@ void testDoAuthenticationSuccess() throws Exception {
2426

2527
try (MockedConstruction<CxWrapper> mocked =
2628
Mockito.mockConstruction(CxWrapper.class,
27-
(mock, context) -> when(mock.authValidate()).thenReturn("SUCCESS"))) {
29+
(mock, context) -> when(mock.authValidate()).thenReturn("SUCCESS"));
30+
MockedStatic<CxLogger> mockedCxLogger = Mockito.mockStatic(CxLogger.class)) {
2831

2932
Authenticator authenticator = new Authenticator(mockLogger);
3033

3134
String result = authenticator.doAuthentication("dummyKey", "--param");
3235

3336
assertEquals("SUCCESS", result);
34-
verify(mockLogger).info("Authentication Status: SUCCESS");
37+
mockedCxLogger.verify(() -> CxLogger.info(String.format(PluginConstants.INFO_AUTHENTICATION_STATUS, "SUCCESS")));
3538
}
3639
}
3740

@@ -43,17 +46,18 @@ void testDoAuthenticationIOException() throws Exception {
4346
try (MockedConstruction<CxWrapper> mocked =
4447
Mockito.mockConstruction(CxWrapper.class,
4548
(mock, context) -> when(mock.authValidate())
46-
.thenThrow(new IOException("IO error")))) {
49+
.thenThrow(new IOException("IO error")));
50+
MockedStatic<CxLogger> mockedCxLogger = Mockito.mockStatic(CxLogger.class)) {
4751

4852
Authenticator authenticator = new Authenticator(mockLogger);
4953

5054
String result = authenticator.doAuthentication("dummyKey", "--param");
5155

5256
assertEquals("IO error", result);
53-
verify(mockLogger).error(
54-
eq(String.format(PluginConstants.ERROR_AUTHENTICATING_AST, "IO error")),
55-
any(IOException.class)
56-
);
57+
mockedCxLogger.verify(() -> CxLogger.error(
58+
eq(String.format(PluginConstants.ERROR_AUTHENTICATING_AST, "IO error")),
59+
any(IOException.class)
60+
));
5761
}
5862
}
5963

@@ -65,17 +69,18 @@ void testDoAuthenticationInterruptedException() throws Exception {
6569
try (MockedConstruction<CxWrapper> mocked =
6670
Mockito.mockConstruction(CxWrapper.class,
6771
(mock, context) -> when(mock.authValidate())
68-
.thenThrow(new InterruptedException("Interrupted")))) {
72+
.thenThrow(new InterruptedException("Interrupted")));
73+
MockedStatic<CxLogger> mockedCxLogger = Mockito.mockStatic(CxLogger.class)) {
6974

7075
Authenticator authenticator = new Authenticator(mockLogger);
7176

7277
String result = authenticator.doAuthentication("dummyKey", "--param");
7378

7479
assertEquals("Interrupted", result);
75-
verify(mockLogger).error(
76-
eq(String.format(PluginConstants.ERROR_AUTHENTICATING_AST, "Interrupted")),
77-
any(InterruptedException.class)
78-
);
80+
mockedCxLogger.verify(() -> CxLogger.error(
81+
eq(String.format(PluginConstants.ERROR_AUTHENTICATING_AST, "Interrupted")),
82+
any(InterruptedException.class)
83+
));
7984
}
8085
}
8186

@@ -87,17 +92,18 @@ void testDoAuthenticationCxException() throws Exception {
8792
try (MockedConstruction<CxWrapper> mocked =
8893
Mockito.mockConstruction(CxWrapper.class,
8994
(mock, context) -> when(mock.authValidate())
90-
.thenThrow(new CxException(1, "Cx error")))) {
95+
.thenThrow(new CxException(1, "Cx error")));
96+
MockedStatic<CxLogger> mockedCxLogger = Mockito.mockStatic(CxLogger.class)) {
9197

9298
Authenticator authenticator = new Authenticator(mockLogger);
9399

94100
String result = authenticator.doAuthentication("dummyKey", "--param");
95101

96102
assertEquals("Cx error", result);
97-
verify(mockLogger).error(
98-
eq(String.format(PluginConstants.ERROR_AUTHENTICATING_AST, "Cx error")),
99-
any(CxException.class)
100-
);
103+
mockedCxLogger.verify(() -> CxLogger.error(
104+
eq(String.format(PluginConstants.ERROR_AUTHENTICATING_AST, "Cx error")),
105+
any(CxException.class)
106+
));
101107
}
102108
}
103109

checkmarx-ast-eclipse-plugin/.classpath

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<classpathentry exported="true" kind="lib" path="lib/jackson-annotations-2.21.jar"/>
1313
<classpathentry exported="true" kind="lib" path="lib/jackson-core-2.21.1.jar"/>
1414
<classpathentry exported="true" kind="lib" path="lib/commons-lang3-3.18.0.jar"/>
15-
<classpathentry exported="true" kind="lib" path="lib/ast-cli-java-wrapper-2.4.23.jar"/>
15+
<classpathentry exported="true" kind="lib" path="lib/ast-cli-java-wrapper-2.4.24.jar"/>
1616
<classpathentry exported="true" kind="lib" path="lib/jackson-databind-2.21.1.jar"/>
1717
<classpathentry exported="true" kind="lib" path="lib/org.eclipse.mylyn.commons.ui_4.9.0.v20251121-0615.jar"/>
1818
<classpathentry exported="true" kind="lib" path="lib/org-eclipse-mylyn-commons-core.jar"/>

checkmarx-ast-eclipse-plugin/META-INF/MANIFEST.MF

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ Bundle-ClassPath: .,
3030
lib/jackson-core-2.21.1.jar,
3131
lib/jackson-databind-2.21.1.jar,
3232
lib/commons-lang3-3.18.0.jar,
33-
lib/ast-cli-java-wrapper-2.4.23.jar,
33+
lib/ast-cli-java-wrapper-2.4.24.jar,
3434
lib/org.eclipse.mylyn.commons.ui_4.9.0.v20251121-0615.jar,
3535
lib/org-eclipse-mylyn-commons-core.jar

checkmarx-ast-eclipse-plugin/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ bin.includes = plugin.xml,\
88
lib/jackson-annotations-2.21.jar,\
99
lib/jackson-core-2.21.1.jar,\
1010
lib/commons-lang3-3.18.0.jar,\
11-
lib/ast-cli-java-wrapper-2.4.23.jar,\
11+
lib/ast-cli-java-wrapper-2.4.24.jar,\
1212
lib/org.eclipse.mylyn.commons.ui_4.9.0.v20251121-0615.jar,\
1313
lib/jackson-databind-2.21.1.jar,\
1414
.,\
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,15 @@
11
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.1.8.jar filter=lfs diff=lfs merge=lfs -text
2+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.0.jar filter=lfs diff=lfs merge=lfs -text
3+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.1.jar filter=lfs diff=lfs merge=lfs -text
4+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.2.jar filter=lfs diff=lfs merge=lfs -text
5+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.3.jar filter=lfs diff=lfs merge=lfs -text
6+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.4.jar filter=lfs diff=lfs merge=lfs -text
7+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.9.jar filter=lfs diff=lfs merge=lfs -text
8+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.14-oss.jar filter=lfs diff=lfs merge=lfs -text
9+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.15.jar filter=lfs diff=lfs merge=lfs -text
10+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.16-dev.jar filter=lfs diff=lfs merge=lfs -text
11+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.18.jar filter=lfs diff=lfs merge=lfs -text
12+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.20.jar filter=lfs diff=lfs merge=lfs -text
13+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.21.jar filter=lfs diff=lfs merge=lfs -text
14+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.23.jar filter=lfs diff=lfs merge=lfs -text
15+
checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.24.jar filter=lfs diff=lfs merge=lfs -text

checkmarx-ast-eclipse-plugin/lib/ast-cli-java-wrapper-2.4.23.jar

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)