Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@slack/cli-test

Package Overview
Dependencies
Maintainers
0
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@slack/cli-test

Node.js bindings for the Slack CLI for use in automated testing

  • 2.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

@slack/cli-test

codecov

This library is designed to automate the Slack Platform Command Line Interface (CLI). It provides a programmatic way to interact with the CLI using node.js and is used primarily for end-to-end (E22) testing.

Requirements

  1. Ensure the Slack CLI is installed on your system.
  2. Export the path to the CLI binary as a SLACK_CLI_PATH environment variable.

Quickstart

  1. Install the package
npm install @slack/cli-test
  1. Set the path to the CLI executable using the environment variable SLACK_CLI_PATH
    • supply a link to a binary on the global path, like slack-cli
    • it will default to using slack otherwise
  2. Import and use SlackCLI to automate the CLI!
import { SlackCLI } from '@slack/cli-test';
...
const createOutput = await SlackCLI.createAppFromTemplate('slackapi/deno-hello-world');

API / Usage

This package exports the following:

  1. SlackCLI - an object containing a variety of methods to interact with the CLI
  1. SlackCLIProcess - a class that can be instantiated that exposes the ability to run arbitrary commands, with optional global flags as well as command-specific flags.
  2. SlackTracerId - trace IDs to verify CLI command output
  • see available exported IDs on SlackTracerId object
  • to enable the CLI to show this output, any CLI commands executed by this library are invoked with the environment variable set: SLACK_TEST_TRACE=true
// Import available objects from the package
import { SlackCLI, SlackTracerId } from '@slack/cli-test';

describe('Login with the CLI', () => {
  it('can successfully follow the feedback survey link', async function () {
    // `login --no-prompt` to get challenge
    const loginChallengeResult = await SlackCLI.loginNoPrompt();

    // Submit auth ticket in Slack UI
    const challenge = await submitCLIAuthTicket(
      loginUrlToMyWorkspace,
      loginChallengeResult.authTicketSlashCommand
    );

    // login with challenge and auth ticket
    const loginChallengeExchangeResult = await SlackCLI.loginChallengeExchange(
      challenge,
      loginChallengeResult.authTicket
    );
  });
});

Configuration

Environment VariableRequiredNote
SLACK_CLI_PATHyespath to Slack CLI binary
SLACK_CLI_LOG_LEVELnodefault: info. Logger levels

Keywords

FAQs

Package last updated on 04 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc