File: gitlab_backup_cli_spec.rb

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (44 lines) | stat: -rw-r--r-- 1,434 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe 'gitlab-backup-cli commands', type: :thor do
  subject(:cli) { Gitlab::Backup::Cli::Runner }

  let(:expected_help_output) do
    <<~COMMAND
      GitLab Backup CLI commands:
        gitlab-backup-cli backup          # Manage repositories, database and files backup creation
        gitlab-backup-cli help [COMMAND]  # Describe available commands or one specific command
        gitlab-backup-cli restore         # Restore previously captured backup data
        gitlab-backup-cli version         # Display the version information

    COMMAND
  end

  describe 'Default behavior' do
    it 'returns subcommand information with listed known methods' do
      expect { cli.start([]) }.to output(expected_help_output).to_stdout
    end
  end

  describe 'gitlab-backup-cli help' do
    it 'returns subcommand information with listed known methods' do
      expect { cli.start(%w[help]) }.to output(expected_help_output).to_stdout
    end
  end

  describe 'gitlab-backup-cli version' do
    it 'returns the current version' do
      expect { cli.start(%w[version]) }.to output(
        /GitLab Backup CLI \(#{Gitlab::Backup::Cli::VERSION}\)\n/o
      ).to_stdout
    end
  end

  describe 'gitlab-backup-cli backup' do
    it 'returns a list of backup subcommands' do
      expect { cli.start(%w[backup]) }.to output(/Backup commands:.*/).to_stdout
    end
  end
end