44import com .slack .api .methods .MethodsClient ;
55import com .slack .api .methods .SlackApiException ;
66import com .slack .api .methods .response .apps .manifest .*;
7+ import com .slack .api .model .event .FunctionExecutedEvent ;
8+ import com .slack .api .model .manifest .AppManifest ;
79import com .slack .api .model .manifest .AppManifestParams ;
810import com .slack .api .token_rotation .tooling .ToolingToken ;
911import com .slack .api .token_rotation .tooling .ToolingTokenRotator ;
@@ -193,6 +195,31 @@ public void automationPlatform() throws IOException, SlackApiException {
193195 .functions (functions )
194196 .build ();
195197
198+ AppManifestParams invalidManifest2 = AppManifestParams .builder ()
199+ .metadata (AppManifestParams .Metadata .builder ().majorVersion (2 ).build ())
200+ .displayInformation (AppManifestParams .DisplayInformation .builder ()
201+ .name ("manifest-test-app" )
202+ .build ())
203+ .settings (AppManifestParams .Settings .builder ()
204+ .functionRuntime ("remote" )
205+ .interactivity (AppManifestParams .Interactivity .builder ()
206+ .isEnabled (true )
207+ .build ())
208+ // .eventSubscriptions(AppManifestParams.EventSubscriptions.builder()
209+ // .botEvents(Arrays.asList(FunctionExecutedEvent.TYPE_NAME))
210+ // .build())
211+ .socketModeEnabled (true )
212+ .orgDeployEnabled (true )
213+ .build ())
214+ .features (AppManifestParams .Features .builder ()
215+ .botUser (AppManifestParams .BotUser .builder ().displayName ("test-bot" ).build ())
216+ .build ())
217+ .oauthConfig (AppManifestParams .OAuthConfig .builder ()
218+ .scopes (AppManifestParams .Scopes .builder ().bot (Arrays .asList ("commands" )).build ())
219+ .build ())
220+ .functions (functions )
221+ .build ();
222+
196223 AppManifestParams manifest = AppManifestParams .builder ()
197224 .metadata (AppManifestParams .Metadata .builder ().majorVersion (2 ).build ())
198225 .displayInformation (AppManifestParams .DisplayInformation .builder ()
@@ -203,6 +230,9 @@ public void automationPlatform() throws IOException, SlackApiException {
203230 .interactivity (AppManifestParams .Interactivity .builder ()
204231 .isEnabled (true )
205232 .build ())
233+ .eventSubscriptions (AppManifestParams .EventSubscriptions .builder ()
234+ .botEvents (Arrays .asList (FunctionExecutedEvent .TYPE_NAME ))
235+ .build ())
206236 .socketModeEnabled (true )
207237 .orgDeployEnabled (true )
208238 .build ())
@@ -217,11 +247,17 @@ public void automationPlatform() throws IOException, SlackApiException {
217247
218248 AppsManifestValidateResponse validation = client .appsManifestValidate (r -> r .manifest (invalidManifest ));
219249 assertThat (validation .getError (), is ("invalid_manifest" ));
250+ validation = client .appsManifestValidate (r -> r .manifest (invalidManifest2 ));
251+ assertThat (validation .getError (), is ("invalid_manifest" ));
220252 validation = client .appsManifestValidate (r -> r .manifest (manifest ));
221253 assertThat (validation .getError (), is (nullValue ()));
222254
223255 AppsManifestCreateResponse creation = null ;
224256 try {
257+ creation = client .appsManifestCreate (r -> r .manifest (invalidManifest ));
258+ assertThat (creation .getError (), is ("invalid_manifest" ));
259+ creation = client .appsManifestCreate (r -> r .manifest (invalidManifest2 ));
260+ assertThat (creation .getError (), is ("invalid_manifest" ));
225261 creation = client .appsManifestCreate (r -> r .manifest (manifest ));
226262 assertThat (creation .getError (), is (nullValue ()));
227263 String appId = creation .getAppId ();
0 commit comments