patter 0.0.1

A lightweight rust library for uploading data to decentralized web3 storage providers like Pinata and Web3.Storage
Documentation
use assert_cmd::prelude::*;
use predicates::prelude::*;
use std::process::Command;

#[tokio::test]
async fn run_patter_web3() -> Result<(), Box<dyn std::error::Error>> {
    let mut cmd = Command::cargo_bin("patter")?;
    let assert = cmd.arg("-a=pin_file").arg("-f=./test.json").arg("-p=web3").assert();
    assert.success();
    Ok(())
}

#[tokio::test]
async fn pin_file_pinata() -> Result<(), Box<dyn std::error::Error>> {
    let mut cmd = Command::cargo_bin("patter")?;
    let assert = cmd.arg("-a=pin_file").arg("-f=./test.json").arg("-p=pinata").assert();
    assert.success();
    Ok(())
}

#[tokio::test]
async fn fail_arg() -> Result<(), Box<dyn std::error::Error>> {
    let mut cmd = Command::cargo_bin("patter")?;
    let assert = cmd.arg("-a pin_file").arg("-f=./test.json").arg("-p=web3").assert();
    assert
        .failure()
        .stderr(predicate::str::contains("--action pin_file"));
    Ok(())
}