mirror of
https://github.com/mvt-project/mvt.git
synced 2026-09-03 16:41:05 +02:00
49 lines
1.7 KiB
Python
49 lines
1.7 KiB
Python
# Mobile Verification Toolkit (MVT)
|
|
# Copyright (c) 2021-2026 The MVT Authors.
|
|
# Use of this software is governed by the MVT License 1.1 that can be found at
|
|
# https://license.mvt.re/1.1/
|
|
|
|
from click.testing import CliRunner
|
|
|
|
from mvt.cli import cli
|
|
from mvt.common.updates import IndicatorsUpdates
|
|
from mvt.common.version import MVT_VERSION
|
|
|
|
# Keep the banner of the group callback from checking for updates online.
|
|
OFFLINE = ["--disable-update-check", "--disable-indicator-update-check"]
|
|
|
|
|
|
class TestMvtCommand:
|
|
def test_running_mvt_alone_shows_the_logo_and_the_commands(self):
|
|
result = CliRunner().invoke(cli, OFFLINE)
|
|
|
|
assert result.exit_code == 0
|
|
logo_at = result.output.index("Mobile Verification Toolkit")
|
|
usage_at = result.output.index("Usage:")
|
|
assert logo_at < usage_at
|
|
assert "mvt-ios" in result.output and "mvt-android" in result.output
|
|
|
|
def test_help_reminds_where_the_analysis_runs(self):
|
|
result = CliRunner().invoke(cli, ["--help"])
|
|
|
|
assert result.exit_code == 0
|
|
assert "mvt-ios" in result.output
|
|
assert "mvt-android" in result.output
|
|
|
|
def test_version_prints_the_installed_version(self):
|
|
result = CliRunner().invoke(cli, [*OFFLINE, "version"])
|
|
|
|
assert result.exit_code == 0
|
|
assert f"Version: {MVT_VERSION}" in result.output
|
|
|
|
def test_download_iocs_updates_the_indicators(self, monkeypatch):
|
|
updates = []
|
|
monkeypatch.setattr(
|
|
IndicatorsUpdates, "update", lambda self: updates.append(self)
|
|
)
|
|
|
|
result = CliRunner().invoke(cli, [*OFFLINE, "download-iocs"])
|
|
|
|
assert result.exit_code == 0
|
|
assert len(updates) == 1
|