Compare commits

...

12 Commits

Author SHA1 Message Date
Abin Simon
8c4d407212 Fix flaky tests for ics 2024-02-10 12:24:22 +05:30
ashmrtn
22f28a996c
Add CI check to make sure generated code is checked in (#11)
* Minor fixes for tools stuff

* Fix the package for the tools.go file
* Make it easier to install generate tools by making the install
  commands generate commands in the tools file

* Add CI step to check for generated code

Have a CI step that will fail if there's uncommitted generated changes.

* Remove erroring generate statement

Relevant code no longer requires the use of the stringer package.

* Add uncommitted generated code to fix lint error

* Fix action lint error

* Remove unused type
2024-02-09 20:09:59 +00:00
Abin Simon
aa2f0049e1
Do not fail export on email attachments without name (#23)
* Do not fail on email attachments without name

* Add changelog entry

* Allow posts to also have unnamed attachments
2024-02-09 15:40:03 +00:00
Abin Simon
6aab750b7f
Use recurrence timezone for ics exports (#16)
* Add timezone ical templates for all regions

* Add WKST information

* Update tzdata script to skip unnecessary bits

* Add logic to append timezone information

* Add tests for timezone handling

* Update cannonical timezone map list

* Fixups

* Add CHANGELOG

* Fix failing test

* Address review comments
2024-02-09 10:56:45 +00:00
ashmrtn
7a62c00073
Fix base64 decoding for debug log statements (#12)
* Expand path decoding slightly

Add function to decode an entire path and change result when a decode
error occurs to better fix use-case.

Also add tests for decoding a path and error case.

* Fixup logic in FinishedHashingFile handler

Use new decoding function so we hopefully stop getting failed to decode
errors. The original error was cropping up because it was using standard
base64 decoding while the encoder uses URL (and file system) safe base64
encoding. Those encoder types have different alphabets that they
translate to, thus the errors.
2024-02-09 04:56:16 +00:00
ashmrtn
daa2257ff1
Fix longevity action by readding removed command (#19)
* Fix longevity action by readding removed command

* Use new prefix for canario longevity test

Make reasoning about things simpler by using a different prefix for the
canario repo in S3.

* align longevity_test changes

---------

Co-authored-by: ryanfkeepers <ryanfkeepers@gmail.com>
2024-02-09 03:01:11 +00:00
ashmrtn
9f46e184cf
Remove deleted flag from test command (#10) 2024-02-09 02:45:12 +00:00
Abin Simon
d4881d1cf0
Fix up website linting CI job (#17)
* Fix up internal links

* Don't show warnings or suggestions

We never really looked at it, we only took the errors into account. It
was just making finding the errors harder.

---------

Co-authored-by: ashmrtn <3891298+ashmrtn@users.noreply.github.com>
2024-02-09 01:15:26 +00:00
Keepers
ddf9285791
fix mergequeue skipped tests (#22)
* fix mergequeue skipped tests

* linter fix
2024-02-08 23:36:56 +00:00
Keepers
1752d1117f
fix up mergequeue and ci (#21)
* fix up mergequeue and ci

* rename ci job

* spacing out triggers?

* fix ci script

* fixing up test runner
2024-02-08 21:37:59 +00:00
ryanfkeepers
ef6ca8583a necessary renaming and deployment prevention 2024-02-07 12:22:07 -07:00
ryanfkeepers
8081ae7349 re-ref all corso to canario, remove license 2024-02-07 11:46:51 -07:00
666 changed files with 7355 additions and 4134 deletions

View File

@ -59,7 +59,7 @@ runs:
CATEGORY_SUFFIX="" CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}" [[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-backup-${{inputs.kind }}.log CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-backup-${{inputs.kind }}.log
./corso backup create '${{ inputs.service }}' \ ./canario backup create '${{ inputs.service }}' \
--no-stats --hide-progress --json \ --no-stats --hide-progress --json \
${{ inputs.backup-args }} | ${{ inputs.backup-args }} |
tee /dev/stderr | # for printing logs tee /dev/stderr | # for printing logs
@ -80,7 +80,7 @@ runs:
CATEGORY_SUFFIX="" CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}" [[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-restore-${{inputs.kind }}.log CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-restore-${{inputs.kind }}.log
./corso restore '${{ inputs.service }}' \ ./canario restore '${{ inputs.service }}' \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--collisions ${{ inputs.on-collision }} \ --collisions ${{ inputs.on-collision }} \
@ -128,7 +128,7 @@ runs:
CATEGORY_SUFFIX="" CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}" [[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-restore-${{inputs.kind }}.log CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-restore-${{inputs.kind }}.log
./corso export '${{ inputs.service }}' \ ./canario export '${{ inputs.service }}' \
/tmp/export-${{ inputs.service }}${CATEGORY_SUFFIX}-${{inputs.kind }} \ /tmp/export-${{ inputs.service }}${CATEGORY_SUFFIX}-${{inputs.kind }} \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
@ -170,7 +170,7 @@ runs:
CATEGORY_SUFFIX="" CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}" [[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-restore-${{inputs.kind }}.log CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-restore-${{inputs.kind }}.log
./corso export '${{ inputs.service }}' \ ./canario export '${{ inputs.service }}' \
/tmp/export-${{ inputs.service }}${CATEGORY_SUFFIX}-${{inputs.kind }}-archive \ /tmp/export-${{ inputs.service }}${CATEGORY_SUFFIX}-${{inputs.kind }}-archive \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
@ -213,7 +213,7 @@ runs:
CATEGORY_SUFFIX="" CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}" [[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-backup-${{ inputs.service }}${CATEGORY_SUFFIX}-list-${{inputs.kind }}.log CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-backup-${{ inputs.service }}${CATEGORY_SUFFIX}-list-${{inputs.kind }}.log
./corso backup list ${{ inputs.service }} \ ./canario backup list ${{ inputs.service }} \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
2>&1 | 2>&1 |
@ -237,7 +237,7 @@ runs:
CATEGORY_SUFFIX="" CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}" [[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-backup-list-${{ inputs.service }}${CATEGORY_SUFFIX}-single-${{inputs.kind }}.log CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-backup-list-${{ inputs.service }}${CATEGORY_SUFFIX}-single-${{inputs.kind }}.log
./corso backup list ${{ inputs.service }} \ ./canario backup list ${{ inputs.service }} \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--backup "${{ steps.backup.outputs.result }}" \ --backup "${{ steps.backup.outputs.result }}" \

View File

@ -1,5 +1,14 @@
name: Publish Binary name: Publish Binary
###################################
# notice:
# This file has undergone major
# renaming for the canario fork.
# In case of re-incorporation back
# to corso, this refactoring will
# need to be undone.
###################################
inputs: inputs:
version: version:
description: Corso version to use for publishing description: Corso version to use for publishing
@ -40,36 +49,36 @@ runs:
workdir: src workdir: src
env: env:
GITHUB_TOKEN: ${{ inputs.github_token }} GITHUB_TOKEN: ${{ inputs.github_token }}
RUDDERSTACK_CORSO_WRITE_KEY: ${{ inputs.rudderstack_write_key }} RUDDERSTACK_CANARIO_WRITE_KEY: ${{ inputs.rudderstack_write_key }}
RUDDERSTACK_CORSO_DATA_PLANE_URL: ${{ inputs.rudderstack_data_plane_url }} RUDDERSTACK_CANARIO_DATA_PLANE_URL: ${{ inputs.rudderstack_data_plane_url }}
CORSO_VERSION: ${{ inputs.version }} CANARIO_VERSION: ${{ inputs.version }}
- name: Upload darwin arm64 - name: Upload darwin arm64
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: corso_Darwin_arm64 name: canario_Darwin_arm64
path: src/dist/corso_darwin_arm64/corso path: src/dist/canario_darwin_arm64/canario
- name: Upload linux arm64 - name: Upload linux arm64
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: corso_Linux_arm64 name: canario_Linux_arm64
path: src/dist/corso_linux_arm64/corso path: src/dist/canario_linux_arm64/canario
- name: Upload darwin amd64 - name: Upload darwin amd64
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: corso_Darwin_amd64 name: canario_Darwin_amd64
path: src/dist/corso_darwin_amd64_v1/corso path: src/dist/canario_darwin_amd64_v1/canario
- name: Upload linux amd64 - name: Upload linux amd64
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: corso_Linux_amd64 name: canario_Linux_amd64
path: src/dist/corso_linux_amd64_v1/corso path: src/dist/canario_linux_amd64_v1/canario
- name: Upload windows amd64 - name: Upload windows amd64
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: corso_Windows_amd64 name: canario_Windows_amd64
path: src/dist/corso_windows_amd64_v1/corso.exe path: src/dist/canario_windows_amd64_v1/canario.exe

View File

@ -23,7 +23,7 @@ runs:
uses: aws-actions/configure-aws-credentials@v2 uses: aws-actions/configure-aws-credentials@v2
with: with:
role-to-assume: ${{ inputs.aws-iam-role }} role-to-assume: ${{ inputs.aws-iam-role }}
role-session-name: integration-testing role-session-name: canario-integration-testing
aws-region: us-east-1 aws-region: us-east-1
- name: Add rotbots.txt - name: Add rotbots.txt

View File

@ -24,9 +24,9 @@ runs:
- name: build urls - name: build urls
shell: bash shell: bash
run: | run: |
echo "logurl=$(printf 'https://github.com/alcionai/corso/actions/runs/%s' ${{ github.run_id }})" >> $GITHUB_ENV echo "logurl=$(printf 'https://github.com/alcionai/canario/actions/runs/%s' ${{ github.run_id }})" >> $GITHUB_ENV
echo "commiturl=$(printf 'https://github.com/alcionai/corso/commit/%s' ${{ github.sha }})" >> $GITHUB_ENV echo "commiturl=$(printf 'https://github.com/alcionai/canario/commit/%s' ${{ github.sha }})" >> $GITHUB_ENV
echo "refurl=$(printf 'https://github.com/alcionai/corso/%s' ${{ env.trimmed_ref }})" >> $GITHUB_ENV echo "refurl=$(printf 'https://github.com/alcionai/canario/%s' ${{ env.trimmed_ref }})" >> $GITHUB_ENV
- name: use url or blank val - name: use url or blank val
shell: bash shell: bash
@ -56,7 +56,7 @@ runs:
"type": "TextBlock", "type": "TextBlock",
"size": "Medium", "size": "Medium",
"weight": "Bolder", "weight": "Bolder",
"text": "${{ inputs.msg }}", "text": "Canario - ${{ inputs.msg }}",
"color": "Attention" "color": "Attention"
}, },
{ {

View File

@ -29,6 +29,8 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Publish Binary - name: Publish Binary
# canario should never publish
if: false
uses: ./.github/actions/publish-binary uses: ./.github/actions/publish-binary
with: with:
version: ${{ needs.SetEnv.outputs.version }} version: ${{ needs.SetEnv.outputs.version }}

View File

@ -1,15 +1,15 @@
name: Build/Release Corso name: Build Canario
env: # holdover from corso
IMAGE_NAME: ghcr.io/alcionai/corso # canario should not build any images
#env:
# IMAGE_NAME: ghcr.io/alcionai/canario
on: on:
workflow_dispatch: workflow_dispatch:
merge_group:
pull_request: pull_request:
push: push:
branches: [main] branches: [main]
tags: ["v*.*.*"] tags: ["v*.*.*"]
repository_dispatch: repository_dispatch:
types: [ok-to-test-command] types: [ok-to-test-command]
@ -30,7 +30,7 @@ jobs:
# --- Prechecks and Checkouts ------------------------------------------------------------------------ # --- Prechecks and Checkouts ------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------
Precheck: Precheck:
uses: alcionai/corso/.github/workflows/_filechange_checker.yml@main uses: alcionai/canario/.github/workflows/_filechange_checker.yml@main
Checkout: Checkout:
needs: [Precheck] needs: [Precheck]
@ -52,7 +52,7 @@ jobs:
# SetM365App will decide which M365 app to use for this CI run # SetM365App will decide which M365 app to use for this CI run
SetM365App: SetM365App:
uses: alcionai/corso/.github/workflows/accSelector.yaml@main uses: alcionai/canario/.github/workflows/accSelector.yaml@main
SetEnv: SetEnv:
environment: Testing environment: Testing
@ -101,7 +101,14 @@ jobs:
echo "website-cfid=ESFTEIYTIP7Y3" | tee -a $GITHUB_OUTPUT echo "website-cfid=ESFTEIYTIP7Y3" | tee -a $GITHUB_OUTPUT
fi fi
Seeing-Things:
environment: Testing
runs-on: ubuntu-latest
steps:
- shell: bash
run: echo "github.event.merge_queue"
- shell: bash
run: echo ${{ github.event.merge_queue }}
# ---------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------
# --- Website Linting ----------------------------------------------------------------------------------- # --- Website Linting -----------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------
@ -130,7 +137,11 @@ jobs:
environment: Testing environment: Testing
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 120 timeout-minutes: 120
if: (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main') || (needs.precheck.outputs.srcfileschanged == 'true' && github.event.pull_request.head.repo.full_name == github.repository) if: |
startsWith(github.ref, 'refs/tags/')
|| startsWith(github.ref, 'refs/heads/gh-readonly-queue/main')
|| github.ref == 'refs/heads/main'
|| (needs.precheck.outputs.srcfileschanged == 'true' && github.event.pull_request.head.repo.full_name == github.repository)
defaults: defaults:
run: run:
working-directory: src working-directory: src
@ -160,7 +171,7 @@ jobs:
uses: aws-actions/configure-aws-credentials@v4 uses: aws-actions/configure-aws-credentials@v4
with: with:
role-to-assume: ${{ secrets.AWS_IAM_ROLE }} role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
role-session-name: integration-testing role-session-name: canario-integration-testing
aws-region: us-east-1 aws-region: us-east-1
# run the tests # run the tests
@ -231,7 +242,7 @@ jobs:
uses: aws-actions/configure-aws-credentials@v4 uses: aws-actions/configure-aws-credentials@v4
with: with:
role-to-assume: ${{ secrets.AWS_IAM_ROLE }} role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
role-session-name: integration-testing role-session-name: canario-integration-testing
aws-region: us-east-1 aws-region: us-east-1
# run the tests # run the tests
@ -325,7 +336,9 @@ jobs:
Test-Suite-Fork: Test-Suite-Fork:
needs: [Precheck] needs: [Precheck]
environment: Testing environment: Testing
if: (!startsWith(github.ref , 'refs/tags/') && github.ref != 'refs/heads/main') && (needs.precheck.outputs.srcfileschanged == 'true' && github.event.pull_request.head.repo.full_name != github.repository) # test-suite-fork is a corso build artifact.
if: false
# if: (!startsWith(github.ref , 'refs/tags/') && github.ref != 'refs/heads/main') && (needs.precheck.outputs.srcfileschanged == 'true' && github.event.pull_request.head.repo.full_name != github.repository)
runs-on: ubuntu-latest runs-on: ubuntu-latest
defaults: defaults:
run: run:
@ -380,7 +393,7 @@ jobs:
uses: aws-actions/configure-aws-credentials@v4 uses: aws-actions/configure-aws-credentials@v4
with: with:
role-to-assume: ${{ secrets.AWS_IAM_ROLE }} role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
role-session-name: integration-testing role-session-name: canario-integration-testing
aws-region: us-east-1 aws-region: us-east-1
# run the tests # run the tests
@ -462,6 +475,24 @@ jobs:
with: with:
go-version-file: src/go.mod go-version-file: src/go.mod
- name: Run go generate
run: |
# Install tools used for generate commands in the repo
go generate tools.go
# Actually run generate commands in the repo.
go generate ./...
- name: Check for uncommitted changes from generated code
run: |
changes=$(git status --porcelain)
if [[ -n "$changes" ]]; then
echo "Uncommitted changes detected:"
echo "$changes"
echo "Run 'go generate' from backend/functions and commit the changes."
exit 1
fi
echo "No uncommitted changes detected."
- name: Go Lint - name: Go Lint
uses: golangci/golangci-lint-action@v3 uses: golangci/golangci-lint-action@v3
with: with:
@ -477,7 +508,7 @@ jobs:
run: go install github.com/google/go-licenses@latest run: go install github.com/google/go-licenses@latest
- name: Run go-licenses - name: Run go-licenses
run: go-licenses check github.com/alcionai/corso/src --ignore github.com/alcionai/corso/src run: go-licenses check github.com/alcionai/canario/src --ignore github.com/alcionai/canario/src
- name: Run staticcheck - name: Run staticcheck
uses: dominikh/staticcheck-action@v1.3.0 uses: dominikh/staticcheck-action@v1.3.0
@ -571,6 +602,8 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Publish Binary - name: Publish Binary
# canario should never publish
if: false
uses: ./.github/actions/publish-binary uses: ./.github/actions/publish-binary
with: with:
version: ${{ needs.SetEnv.outputs.version }} version: ${{ needs.SetEnv.outputs.version }}
@ -582,7 +615,9 @@ jobs:
needs: [Test-Suite-Trusted, Source-Code-Linting, Website-Linting, SetEnv] needs: [Test-Suite-Trusted, Source-Code-Linting, Website-Linting, SetEnv]
environment: ${{ needs.SetEnv.outputs.environment }} environment: ${{ needs.SetEnv.outputs.environment }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/') # canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
defaults: defaults:
run: run:
working-directory: build working-directory: build
@ -626,7 +661,7 @@ jobs:
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
build-args: | build-args: |
CORSO_BUILD_LDFLAGS=-X 'github.com/alcionai/corso/src/internal/events.RudderStackWriteKey=${{ secrets.RUDDERSTACK_CORSO_WRITE_KEY }}' -X 'github.com/alcionai/corso/src/internal/events.RudderStackDataPlaneURL=${{ secrets.RUDDERSTACK_CORSO_DATA_PLANE_URL }}' -X 'github.com/alcionai/corso/src/internal/version.Version=${{ needs.SetEnv.outputs.version }}' CORSO_BUILD_LDFLAGS=-X 'github.com/alcionai/canario/src/internal/events.RudderStackWriteKey=${{ secrets.RUDDERSTACK_CORSO_WRITE_KEY }}' -X 'github.com/alcionai/canario/src/internal/events.RudderStackDataPlaneURL=${{ secrets.RUDDERSTACK_CORSO_DATA_PLANE_URL }}' -X 'github.com/alcionai/canario/src/internal/version.Version=${{ needs.SetEnv.outputs.version }}'
# use the github cache # use the github cache
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max
@ -635,14 +670,16 @@ jobs:
needs: [Publish-Binary, Publish-Image, SetEnv] needs: [Publish-Binary, Publish-Image, SetEnv]
environment: Testing environment: Testing
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/') # canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
env: env:
CORSO_VERSION: ${{ needs.SetEnv.outputs.version }} CORSO_VERSION: ${{ needs.SetEnv.outputs.version }}
steps: steps:
- name: Validate x86_64 binary artifacts - name: Validate x86_64 binary artifacts
run: | run: |
set -ex set -ex
curl -L https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_x86_64.tar.gz > corso.tar.gz curl -L https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_x86_64.tar.gz > corso.tar.gz
tar -xf corso.tar.gz tar -xf corso.tar.gz
./corso --help ./corso --help
./corso --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$" ./corso --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$"
@ -656,7 +693,7 @@ jobs:
run: | run: |
set -ex set -ex
sudo apt-get update && sudo apt-get install curl sudo apt-get update && sudo apt-get install curl
curl -L https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_arm64.tar.gz > corso.tar.gz curl -L https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_arm64.tar.gz > corso.tar.gz
tar -xf corso.tar.gz tar -xf corso.tar.gz
./corso --help ./corso --help
./corso --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$" ./corso --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$"
@ -665,7 +702,9 @@ jobs:
needs: [Publish-Binary, Publish-Image, SetEnv] needs: [Publish-Binary, Publish-Image, SetEnv]
environment: Testing environment: Testing
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/') # canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
env: env:
CORSO_VERSION: ${{ needs.SetEnv.outputs.version }} CORSO_VERSION: ${{ needs.SetEnv.outputs.version }}
steps: steps:
@ -687,21 +726,23 @@ jobs:
needs: [Publish-Binary, Publish-Image, SetEnv] needs: [Publish-Binary, Publish-Image, SetEnv]
environment: Testing environment: Testing
runs-on: macos-latest runs-on: macos-latest
if: startsWith(github.ref, 'refs/tags/') # canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
env: env:
CORSO_VERSION: ${{ needs.SetEnv.outputs.version }} CORSO_VERSION: ${{ needs.SetEnv.outputs.version }}
steps: steps:
- name: Validate x86_64 binary artifacts - name: Validate x86_64 binary artifacts
run: | run: |
set -ex set -ex
curl -L https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Darwin_x86_64.tar.gz > corso.tar.gz curl -L https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Darwin_x86_64.tar.gz > corso.tar.gz
tar -xf corso.tar.gz tar -xf corso.tar.gz
./corso --help ./corso --help
./corso --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$" ./corso --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$"
- name: Validate arm64 binary artifacts - name: Validate arm64 binary artifacts
run: | run: |
set -ex set -ex
curl -L https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Darwin_arm64.tar.gz > corso.tar.gz curl -L https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Darwin_arm64.tar.gz > corso.tar.gz
tar -xf corso.tar.gz tar -xf corso.tar.gz
# TODO: test/validate arm64 executable once we have arm64 CI # TODO: test/validate arm64 executable once we have arm64 CI
@ -709,13 +750,15 @@ jobs:
needs: [Publish-Binary, Publish-Image, SetEnv] needs: [Publish-Binary, Publish-Image, SetEnv]
environment: Testing environment: Testing
runs-on: windows-latest runs-on: windows-latest
if: startsWith(github.ref, 'refs/tags/') # canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
env: env:
CORSO_VERSION: ${{ needs.SetEnv.outputs.version }} CORSO_VERSION: ${{ needs.SetEnv.outputs.version }}
steps: steps:
- name: Validate x86_64 binary artifacts - name: Validate x86_64 binary artifacts
run: | run: |
curl -L https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Windows_x86_64.zip -o corso.zip curl -L https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Windows_x86_64.zip -o corso.zip
7z x corso.zip 7z x corso.zip
./corso.exe --help ./corso.exe --help
./corso.exe --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$" ./corso.exe --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$"
@ -730,6 +773,8 @@ jobs:
- uses: actions/checkout@v4 # need to checkout to make the action available - uses: actions/checkout@v4 # need to checkout to make the action available
- name: Publish website - name: Publish website
# canario should never publish
if: false
uses: ./.github/actions/publish-website uses: ./.github/actions/publish-website
with: with:
aws-iam-role: ${{ secrets.AWS_IAM_ROLE }} aws-iam-role: ${{ secrets.AWS_IAM_ROLE }}
@ -740,12 +785,16 @@ jobs:
needs: [SetEnv, Validate-Linux-Artifacts, Validate-MacOS-Artifacts, Validate-Docker-Artifacts, Validate-Windows-Artifacts] needs: [SetEnv, Validate-Linux-Artifacts, Validate-MacOS-Artifacts, Validate-Docker-Artifacts, Validate-Windows-Artifacts]
environment: ${{ needs.SetEnv.outputs.environment }} environment: ${{ needs.SetEnv.outputs.environment }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/') # canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
steps: steps:
- uses: actions/checkout@v4 # need to checkout to make the action available - uses: actions/checkout@v4 # need to checkout to make the action available
- name: Publish website - name: Publish website
# canario should never publish
if: false
uses: ./.github/actions/publish-website uses: ./.github/actions/publish-website
with: with:
aws-iam-role: ${{ secrets.AWS_IAM_ROLE }} aws-iam-role: ${{ secrets.AWS_IAM_ROLE }}
@ -756,10 +805,12 @@ jobs:
needs: [Publish-Website-Prod, SetEnv] needs: [Publish-Website-Prod, SetEnv]
environment: Testing environment: Testing
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/') # canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
env: env:
CORSO_VERSION: ${{ needs.SetEnv.outputs.version }} CORSO_VERSION: ${{ needs.SetEnv.outputs.version }}
steps: steps:
- name: Validate docs - name: Validate docs
run: | run: |
curl https://corsobackup.io/docs/quickstart/ | grep https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_x86_64.tar.gz curl https://corsobackup.io/docs/quickstart/ | grep https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_x86_64.tar.gz

View File

@ -1,13 +1,23 @@
name: CI Test Cleanup name: CI Test Cleanup
on: on:
workflow_dispatch: # neither of the jobs are currently running (corso already runs them),
schedule: # so this action is turned off until we decide it's needed.
# workflow_dispatch:
# schedule:
# every half hour # every half hour
- cron: "*/30 * * * *" # - cron: "*/30 * * * *"
#
push:
branches:
does-not-exist-this-forces-the-action-to-not-run
jobs: jobs:
Test-User-Data-Cleanup: Test-User-Data-Cleanup:
environment: Testing environment: Testing
# forced off - this is already running in corso
# we may need to turn this back on if we elect different
# test users compared to the corso repo
if: false
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
strategy: strategy:
@ -43,6 +53,10 @@ jobs:
Test-Site-Data-Cleanup: Test-Site-Data-Cleanup:
environment: Testing environment: Testing
# forced off - this is already running in corso
# we may need to turn this back on if we elect different
# test users compared to the corso repo
if: false
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
strategy: strategy:

View File

@ -20,7 +20,7 @@ concurrency:
jobs: jobs:
SetM365App: SetM365App:
uses: alcionai/corso/.github/workflows/accSelector.yaml@main uses: alcionai/canario/.github/workflows/accSelector.yaml@main
Longevity-Tests: Longevity-Tests:
needs: [ SetM365App ] needs: [ SetM365App ]
@ -37,7 +37,7 @@ jobs:
CORSO_LOG_FILE: ${{ github.workspace }}/src/testlog/run-longevity.log CORSO_LOG_FILE: ${{ github.workspace }}/src/testlog/run-longevity.log
RESTORE_DEST_PFX: Corso_Test_Longevity_ RESTORE_DEST_PFX: Corso_Test_Longevity_
TEST_USER: ${{ github.event.inputs.user != '' && github.event.inputs.user || vars.CORSO_M365_TEST_USER_ID }} TEST_USER: ${{ github.event.inputs.user != '' && github.event.inputs.user || vars.CORSO_M365_TEST_USER_ID }}
PREFIX: 'longevity' PREFIX: 'longevity_canario'
# Options for retention. # Options for retention.
RETENTION_MODE: GOVERNANCE RETENTION_MODE: GOVERNANCE
@ -76,7 +76,7 @@ jobs:
git checkout ${{ steps.version.outputs.version }} git checkout ${{ steps.version.outputs.version }}
git checkout ${{ github.ref }} -- .github git checkout ${{ github.ref }} -- .github
- run: go build -o corso - run: go build -o canario
timeout-minutes: 10 timeout-minutes: 10
- run: mkdir ${CORSO_LOG_DIR} - run: mkdir ${CORSO_LOG_DIR}
@ -88,7 +88,7 @@ jobs:
timeout-minutes: 10 timeout-minutes: 10
with: with:
role-to-assume: ${{ secrets.AWS_IAM_ROLE }} role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
role-session-name: integration-testing role-session-name: canario-integration-testing
aws-region: us-east-1 aws-region: us-east-1
########################################################################## ##########################################################################
@ -97,7 +97,7 @@ jobs:
- name: Version Test - name: Version Test
timeout-minutes: 10 timeout-minutes: 10
run: | run: |
./corso --version | grep -c 'Corso version:' ./canario --version | grep -c 'Corso version:'
- name: Repo init test - name: Repo init test
id: repo-init id: repo-init
@ -105,7 +105,7 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
echo -e "\nRepo init test\n" >> ${{ env.CORSO_LOG_FILE }} echo -e "\nRepo init test\n" >> ${{ env.CORSO_LOG_FILE }}
./corso repo init s3 \ ./canario repo init s3 \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--retention-mode $(echo "${{ env.RETENTION_MODE }}" | tr '[:upper:]' '[:lower:]') \ --retention-mode $(echo "${{ env.RETENTION_MODE }}" | tr '[:upper:]' '[:lower:]') \
@ -113,7 +113,6 @@ jobs:
--extend-retention \ --extend-retention \
--prefix ${{ env.PREFIX }} \ --prefix ${{ env.PREFIX }} \
--bucket ${{ secrets.CI_RETENTION_TESTS_S3_BUCKET }} \ --bucket ${{ secrets.CI_RETENTION_TESTS_S3_BUCKET }} \
--succeed-if-exists \
2>&1 | tee ${{ env.CORSO_LOG_DIR }}/gotest-repo-init.log 2>&1 | tee ${{ env.CORSO_LOG_DIR }}/gotest-repo-init.log
if grep -q 'Failed to' ${{ env.CORSO_LOG_DIR }}/gotest-repo-init.log if grep -q 'Failed to' ${{ env.CORSO_LOG_DIR }}/gotest-repo-init.log
@ -127,7 +126,7 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
echo -e "\nRepo connect test\n" >> ${{ env.CORSO_LOG_FILE }} echo -e "\nRepo connect test\n" >> ${{ env.CORSO_LOG_FILE }}
./corso repo connect s3 \ ./canario repo connect s3 \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--prefix ${{ env.PREFIX }} \ --prefix ${{ env.PREFIX }} \
@ -148,7 +147,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
run: | run: |
echo -e "\nBackup Exchange test\n" >> ${CORSO_LOG_FILE} echo -e "\nBackup Exchange test\n" >> ${CORSO_LOG_FILE}
./corso backup create exchange \ ./canario backup create exchange \
--no-stats \ --no-stats \
--mailbox "${TEST_USER}" \ --mailbox "${TEST_USER}" \
--hide-progress \ --hide-progress \
@ -174,7 +173,7 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
echo -e "\nBackup OneDrive test\n" >> ${CORSO_LOG_FILE} echo -e "\nBackup OneDrive test\n" >> ${CORSO_LOG_FILE}
./corso backup create onedrive \ ./canario backup create onedrive \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--user "${TEST_USER}" \ --user "${TEST_USER}" \
@ -200,7 +199,7 @@ jobs:
set -euo pipefail set -euo pipefail
echo -e "\nBackup SharePoint test\n" >> ${CORSO_LOG_FILE} echo -e "\nBackup SharePoint test\n" >> ${CORSO_LOG_FILE}
./corso backup create sharepoint \ ./canario backup create sharepoint \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--site "${{ vars.CORSO_M365_TEST_SITE_URL }}" \ --site "${{ vars.CORSO_M365_TEST_SITE_URL }}" \
@ -265,9 +264,9 @@ jobs:
echo -e "\Export OneDrive test\n" >> ${CORSO_LOG_FILE} echo -e "\Export OneDrive test\n" >> ${CORSO_LOG_FILE}
echo -e "\Export OneDrive test - first entry\n" >> ${CORSO_LOG_FILE} echo -e "\Export OneDrive test - first entry\n" >> ${CORSO_LOG_FILE}
./corso backup list onedrive 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' | ./canario backup list onedrive 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' |
while read -r line; do while read -r line; do
./corso export onedrive \ ./canario export onedrive \
"/tmp/corso-export--$line" \ "/tmp/corso-export--$line" \
--no-stats \ --no-stats \
--backup "$line" \ --backup "$line" \
@ -275,9 +274,9 @@ jobs:
done done
echo -e "\Export OneDrive test - last entry\n" >> ${CORSO_LOG_FILE} echo -e "\Export OneDrive test - last entry\n" >> ${CORSO_LOG_FILE}
./corso backup list onedrive 2>/dev/null | tail -n1 | awk '{print $1}' | ./canario backup list onedrive 2>/dev/null | tail -n1 | awk '{print $1}' |
while read -r line; do while read -r line; do
./corso export onedrive \ ./canario export onedrive \
"/tmp/corso-export--$line" \ "/tmp/corso-export--$line" \
--no-stats \ --no-stats \
--backup "$line" \ --backup "$line" \
@ -293,9 +292,9 @@ jobs:
echo -e "\Export SharePoint test\n" >> ${CORSO_LOG_FILE} echo -e "\Export SharePoint test\n" >> ${CORSO_LOG_FILE}
echo -e "\Export SharePoint test - first entry\n" >> ${CORSO_LOG_FILE} echo -e "\Export SharePoint test - first entry\n" >> ${CORSO_LOG_FILE}
./corso backup list sharepoint 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' | ./canario backup list sharepoint 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' |
while read -r line; do while read -r line; do
./corso export sharepoint \ ./canario export sharepoint \
"/tmp/corso-export--$line" \ "/tmp/corso-export--$line" \
--no-stats \ --no-stats \
--backup "$line" \ --backup "$line" \
@ -303,9 +302,9 @@ jobs:
done done
echo -e "\Export SharePoint test - last entry\n" >> ${CORSO_LOG_FILE} echo -e "\Export SharePoint test - last entry\n" >> ${CORSO_LOG_FILE}
./corso backup list sharepoint 2>/dev/null | tail -n1 | awk '{print $1}' | ./canario backup list sharepoint 2>/dev/null | tail -n1 | awk '{print $1}' |
while read -r line; do while read -r line; do
./corso export sharepoint \ ./canario export sharepoint \
"/tmp/corso-export--$line" \ "/tmp/corso-export--$line" \
--no-stats \ --no-stats \
--backup "$line" \ --backup "$line" \
@ -324,7 +323,7 @@ jobs:
# Run with the force flag so it doesn't fail if the github runner # Run with the force flag so it doesn't fail if the github runner
# hostname isn't what's expected. This is only safe because we can # hostname isn't what's expected. This is only safe because we can
# guarantee only one runner will be executing maintenance at a time. # guarantee only one runner will be executing maintenance at a time.
./corso repo maintenance --mode metadata \ ./canario repo maintenance --mode metadata \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--force \ --force \
@ -339,7 +338,7 @@ jobs:
set -euo pipefail set -euo pipefail
echo -e "\n Maintenance test Weekly\n" >> ${CORSO_LOG_FILE} echo -e "\n Maintenance test Weekly\n" >> ${CORSO_LOG_FILE}
./corso repo maintenance --mode complete \ ./canario repo maintenance --mode complete \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--force \ --force \

View File

@ -3,8 +3,9 @@ on:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
# Run every day at 04:00 GMT (roughly 8pm PST) # Run every day at 06:00 GMT (roughly 10pm PST)
- cron: "0 4 * * *" # corso runs at 04:00 GMT, this is slightly offset to avoid conflicts.
- cron: "0 6 * * *"
permissions: permissions:
# required to retrieve AWS credentials # required to retrieve AWS credentials
@ -41,7 +42,7 @@ jobs:
# SetM365App will decide which M365 app to use for this CI run # SetM365App will decide which M365 app to use for this CI run
SetM365App: SetM365App:
uses: alcionai/corso/.github/workflows/accSelector.yaml@main uses: alcionai/canario/.github/workflows/accSelector.yaml@main
# ---------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------
# --- Nightly Testing ------------------------------------------------------------------- # --- Nightly Testing -------------------------------------------------------------------

View File

@ -20,7 +20,7 @@ concurrency:
jobs: jobs:
SetM365App: SetM365App:
uses: alcionai/corso/.github/workflows/accSelector.yaml@main uses: alcionai/canario/.github/workflows/accSelector.yaml@main
Sanity-Tests: Sanity-Tests:
needs: [ SetM365App ] needs: [ SetM365App ]
@ -56,7 +56,7 @@ jobs:
with: with:
go-version-file: src/go.mod go-version-file: src/go.mod
- run: go build -o corso - run: go build -o canario
timeout-minutes: 10 timeout-minutes: 10
- run: go build -o sanity-test ./cmd/sanity_test - run: go build -o sanity-test ./cmd/sanity_test
@ -114,7 +114,7 @@ jobs:
- name: Version Test - name: Version Test
timeout-minutes: 10 timeout-minutes: 10
run: | run: |
./corso --version | grep -c 'Corso version:' ./canario --version | grep -c 'Corso version:'
- name: Repo init test - name: Repo init test
timeout-minutes: 10 timeout-minutes: 10
@ -123,7 +123,7 @@ jobs:
set -euo pipefail set -euo pipefail
prefix=$(date +"%Y-%m-%d-%T") prefix=$(date +"%Y-%m-%d-%T")
echo -e "\nRepo init test\n" >> ${{ env.CORSO_LOG_FILE }} echo -e "\nRepo init test\n" >> ${{ env.CORSO_LOG_FILE }}
./corso repo init s3 \ ./canario repo init s3 \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--prefix $prefix \ --prefix $prefix \
@ -143,7 +143,7 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
echo -e "\nRepo connect test\n" >> ${{ env.CORSO_LOG_FILE }} echo -e "\nRepo connect test\n" >> ${{ env.CORSO_LOG_FILE }}
./corso repo connect s3 \ ./canario repo connect s3 \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--prefix ${{ steps.repo-init.outputs.result }} \ --prefix ${{ steps.repo-init.outputs.result }} \
@ -163,7 +163,7 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
echo -e "\nRepo maintenance test\n" >> ${{ env.CORSO_LOG_FILE }} echo -e "\nRepo maintenance test\n" >> ${{ env.CORSO_LOG_FILE }}
./corso repo maintenance \ ./canario repo maintenance \
--no-stats \ --no-stats \
--hide-progress \ --hide-progress \
--mode complete \ --mode complete \

View File

@ -1,6 +1,10 @@
name: Publish website name: Publish website
on: on:
workflow_dispatch: # workflow_dispatch:
# turned off for now, since canario should not publish the website
push:
branches:
does-not-exist-this-forces-the-action-to-not-run
permissions: permissions:
# required to retrieve AWS credentials # required to retrieve AWS credentials
@ -49,6 +53,8 @@ jobs:
Publish-Website: Publish-Website:
needs: [Website-Linting] needs: [Website-Linting]
# canario should never publish
if: false
environment: Production environment: Production
runs-on: ubuntu-latest runs-on: ubuntu-latest
defaults: defaults:
@ -59,6 +65,8 @@ jobs:
- uses: actions/checkout@v4 # need to checkout to make the action available - uses: actions/checkout@v4 # need to checkout to make the action available
- name: Publish website - name: Publish website
# canario should never publish
if: false
uses: ./.github/actions/publish-website uses: ./.github/actions/publish-website
with: with:
aws-iam-role: ${{ secrets.AWS_IAM_ROLE }} aws-iam-role: ${{ secrets.AWS_IAM_ROLE }}

4
.gitignore vendored
View File

@ -19,8 +19,8 @@ testlog/
*.swp *.swp
# Standard configuration file names # Standard configuration file names
.corso_test.toml .canario_test.toml
.corso.toml .canario.toml
# Logging # Logging
*.log *.log

View File

@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed ### Fixed
- Handle the case where an email or event cannot be retrieved from Exchange due to an `ErrorCorruptData` error. Corso will skip over the item but report it in the backup summary. - Handle the case where an email or event cannot be retrieved from Exchange due to an `ErrorCorruptData` error. Corso will skip over the item but report it in the backup summary.
- Emails attached within other emails are now correctly exported - Emails attached within other emails are now correctly exported
- Use correct timezone for event start and end times in Exchange exports (helps fix issues in relative recurrence patterns)
- Gracefully handle email and post attachments without name when exporting to eml
## [v0.19.0] (beta) - 2024-02-06 ## [v0.19.0] (beta) - 2024-02-06

177
LICENSE
View File

@ -1,177 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS

View File

@ -1,7 +1,7 @@
<p align="center"> <p align="center">
<img src="https://github.com/alcionai/corso/blob/main/website/static/img/corso_logo.svg?raw=true" alt="Corso Logo" width="100" /> <img src="https://github.com/alcionai/corso/blob/main/website/static/img/corso_logo.svg?raw=true" alt="Corso Logo" width="100" />
</p> </p>
<h1 align="center">Corso</h1> <h1 align="center">--CANARIO--</h1>
[![Go Report Card](https://goreportcard.com/badge/github.com/alcionai/corso/src)](https://goreportcard.com/report/github.com/alcionai/corso/src) [![Go Report Card](https://goreportcard.com/badge/github.com/alcionai/corso/src)](https://goreportcard.com/report/github.com/alcionai/corso/src)
[![Discord](https://img.shields.io/badge/discuss-discord-blue)](https://discord.gg/63DTTSnuhT) [![Discord](https://img.shields.io/badge/discuss-discord-blue)](https://discord.gg/63DTTSnuhT)

View File

@ -4,21 +4,21 @@ WORKDIR /go/src/app
COPY src . COPY src .
ARG CORSO_BUILD_LDFLAGS="" ARG CORSO_BUILD_LDFLAGS=""
RUN go build -o corso -ldflags "$CORSO_BUILD_LDFLAGS" RUN go build -o canario -ldflags "$CORSO_BUILD_LDFLAGS"
FROM alpine:3 FROM alpine:3
LABEL org.opencontainers.image.title="Corso" LABEL org.opencontainers.image.title="Canario"
LABEL org.opencontainers.image.description="Free, Secure, and Open-Source Backup for Microsoft 365" LABEL org.opencontainers.image.description="Free, Secure, and Open-Source Backup for Microsoft 365"
LABEL org.opencontainers.image.url="https://github.com/alcionai/corso" LABEL org.opencontainers.image.url="https://github.com/alcionai/canario"
LABEL org.opencontainers.image.source="https://github.com/alcionai/corso" LABEL org.opencontainers.image.source="https://github.com/alcionai/canario"
LABEL org.opencontainers.image.vendor="Alcion, Inc." LABEL org.opencontainers.image.vendor="Alcion, Inc."
COPY --from=builder /go/src/app/corso /corso COPY --from=builder /go/src/app/canario /canario
RUN apk add --no-cache ca-certificates RUN apk add --no-cache ca-certificates
ENV CORSO_HOME=/app/corso ENV CORSO_HOME=/app/canario
ENV CORSO_CONFIG_DIR=$CORSO_HOME \ ENV CORSO_CONFIG_DIR=$CORSO_HOME \
KOPIA_CONFIG_PATH=$CORSO_HOME/kopia/config/repository.config \ KOPIA_CONFIG_PATH=$CORSO_HOME/kopia/config/repository.config \
KOPIA_LOG_DIR=$CORSO_HOME/kopia/logs \ KOPIA_LOG_DIR=$CORSO_HOME/kopia/logs \
@ -26,4 +26,4 @@ ENV CORSO_CONFIG_DIR=$CORSO_HOME \
KOPIA_PERSIST_CREDENTIALS_ON_CONNECT=false \ KOPIA_PERSIST_CREDENTIALS_ON_CONNECT=false \
KOPIA_CHECK_FOR_UPDATES=false KOPIA_CHECK_FOR_UPDATES=false
ENTRYPOINT ["/corso"] ENTRYPOINT ["/canario"]

View File

@ -30,7 +30,7 @@ Darwin) GOOS="darwin" ;;
esac esac
PLATFORMS="$GOOS/$GOARCH" # default platform PLATFORMS="$GOOS/$GOARCH" # default platform
TAG="alcionai/corso" # default image tag TAG="alcionai/canario" # default image tag
MODE="binary" MODE="binary"
case "$1" in case "$1" in
@ -68,13 +68,13 @@ if [ "$MODE" == "binary" ]; then
--env GOOS=${GOOS} --env GOARCH=${GOARCH} \ --env GOOS=${GOOS} --env GOARCH=${GOARCH} \
--workdir "/app/src" \ --workdir "/app/src" \
golang:${GOVER} \ golang:${GOVER} \
go build -o corso -ldflags "${CORSO_BUILD_LDFLAGS}" go build -o canario -ldflags "${CORSO_BUILD_LDFLAGS}"
OUTFILE="corso" OUTFILE="canario"
[ "$GOOS" == "windows" ] && OUTFILE="corso.exe" [ "$GOOS" == "windows" ] && OUTFILE="canario.exe"
mkdir -p "${ROOT}/bin/${GOOS}-${GOARCH}" mkdir -p "${ROOT}/bin/${GOOS}-${GOARCH}"
mv "${ROOT}/src/corso" "${ROOT}/bin/${GOOS}-${GOARCH}/${OUTFILE}" mv "${ROOT}/src/canario" "${ROOT}/bin/${GOOS}-${GOARCH}/${OUTFILE}"
echo Corso $platform binary available in "${ROOT}/bin/${GOOS}-${GOARCH}/${OUTFILE}" echo Corso $platform binary available in "${ROOT}/bin/${GOOS}-${GOARCH}/${OUTFILE}"
done done
else else

View File

@ -17,13 +17,13 @@ COPY ./src .
FROM base AS build FROM base AS build
ARG TARGETOS ARG TARGETOS
ARG TARGETARCH ARG TARGETARCH
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o /corso . RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o /canario .
## Deploy ## Deploy
FROM ubuntu:22.10 FROM ubuntu:22.10
COPY --from=build /corso / COPY --from=build /canario /
USER nobody USER nobody
ENTRYPOINT ["/corso"] ENTRYPOINT ["/canario"]

6
src/.gitignore vendored
View File

@ -1,5 +1,5 @@
dist/ dist/
corso canario
# Test binary, built with `go test -c` # Test binary, built with `go test -c`
*.test *.test
@ -14,8 +14,8 @@ testlog/
*.swp *.swp
# Standard configuration file names # Standard configuration file names
.corso_test.toml .canario_test.toml
.corso.toml .canario.toml
# Logging # Logging
*.log *.log

View File

@ -35,7 +35,7 @@ linters-settings:
sections: sections:
- standard - standard
- default - default
- prefix(github.com/alcionai/corso) - prefix(github.com/alcionai/canario)
skip-generated: true skip-generated: true
forbidigo: forbidigo:
forbid: forbid:

View File

@ -13,9 +13,9 @@ builds:
- goos: windows - goos: windows
goarch: arm64 goarch: arm64
ldflags: ldflags:
- -X 'github.com/alcionai/corso/src/internal/version.Version={{.Env.CORSO_VERSION}}' - -X 'github.com/alcionai/canario/src/internal/version.Version={{.Env.CORSO_VERSION}}'
- -X 'github.com/alcionai/corso/src/internal/events.RudderStackWriteKey={{.Env.RUDDERSTACK_CORSO_WRITE_KEY}}' - -X 'github.com/alcionai/canario/src/internal/events.RudderStackWriteKey={{.Env.RUDDERSTACK_CORSO_WRITE_KEY}}'
- -X 'github.com/alcionai/corso/src/internal/events.RudderStackDataPlaneURL={{.Env.RUDDERSTACK_CORSO_DATA_PLANE_URL}}' - -X 'github.com/alcionai/canario/src/internal/events.RudderStackDataPlaneURL={{.Env.RUDDERSTACK_CORSO_DATA_PLANE_URL}}'
archives: archives:
# this name template makes the OS and Arch compatible with the results of uname. # this name template makes the OS and Arch compatible with the results of uname.

View File

@ -9,7 +9,7 @@ BAD_LINT_MSG := "Missing golangci-lint version $(WANTED_LINT_VERSION). Visit $(I
.PHONY: check-lint check-lint-version lint load-test .PHONY: check-lint check-lint-version lint load-test
build: build:
go build -o corso go build -o canario
lint: check-lint-version lint: check-lint-version
golangci-lint run golangci-lint run
@ -18,7 +18,7 @@ lint: check-lint-version
fmt: fmt:
gofumpt -w . gofumpt -w .
goimports -w . goimports -w .
gci write --skip-generated -s 'standard' -s 'default' -s 'prefix(github.com/alcionai/corso)' . gci write --skip-generated -s 'standard' -s 'default' -s 'prefix(github.com/alcionai/canario)' .
check-lint-version: check-lint check-lint-version: check-lint
@if [ "$(LINT_VERSION)" != "$(WANTED_LINT_VERSION)" ]; then \ @if [ "$(LINT_VERSION)" != "$(WANTED_LINT_VERSION)" ]; then \

View File

@ -9,22 +9,22 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/common/color" "github.com/alcionai/canario/src/internal/common/color"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/data" "github.com/alcionai/canario/src/internal/data"
"github.com/alcionai/corso/src/internal/observe" "github.com/alcionai/canario/src/internal/observe"
"github.com/alcionai/corso/src/pkg/backup" "github.com/alcionai/canario/src/pkg/backup"
"github.com/alcionai/corso/src/pkg/backup/details" "github.com/alcionai/canario/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/corso/src/pkg/errs/core" "github.com/alcionai/canario/src/pkg/errs/core"
"github.com/alcionai/corso/src/pkg/logger" "github.com/alcionai/canario/src/pkg/logger"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/repository" "github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/store" "github.com/alcionai/canario/src/pkg/store"
) )
var ErrEmptyBackup = clues.New("no items in backup") var ErrEmptyBackup = clues.New("no items in backup")

View File

@ -8,13 +8,13 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/utils/testdata" "github.com/alcionai/canario/src/cli/utils/testdata"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/pkg/backup/details" "github.com/alcionai/canario/src/pkg/backup/details"
dtd "github.com/alcionai/corso/src/pkg/backup/details/testdata" dtd "github.com/alcionai/canario/src/pkg/backup/details/testdata"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
type BackupUnitSuite struct { type BackupUnitSuite struct {

View File

@ -4,12 +4,12 @@ import (
"github.com/alcionai/clues" "github.com/alcionai/clues"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/fault" "github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------

View File

@ -11,20 +11,20 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/print" "github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations" "github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/its" "github.com/alcionai/canario/src/internal/tester/its"
"github.com/alcionai/corso/src/internal/tester/tconfig" "github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/services/m365/api" "github.com/alcionai/canario/src/pkg/services/m365/api"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata" storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
) )
var ( var (

View File

@ -10,12 +10,12 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
) )
type ExchangeUnitSuite struct { type ExchangeUnitSuite struct {

View File

@ -8,15 +8,15 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"golang.org/x/exp/slices" "golang.org/x/exp/slices"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/pkg/fault" "github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/filters" "github.com/alcionai/canario/src/pkg/filters"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/services/m365" "github.com/alcionai/canario/src/pkg/services/m365"
) )
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------

View File

@ -13,20 +13,20 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/print" "github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations" "github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/its" "github.com/alcionai/canario/src/internal/tester/its"
"github.com/alcionai/corso/src/internal/tester/tconfig" "github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
selTD "github.com/alcionai/corso/src/pkg/selectors/testdata" selTD "github.com/alcionai/canario/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata" storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
) )
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------

View File

@ -10,12 +10,12 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
) )
type GroupsUnitSuite struct { type GroupsUnitSuite struct {

View File

@ -10,18 +10,18 @@ import (
"github.com/spf13/viper" "github.com/spf13/viper"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/print" "github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester/tconfig" "github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/account" "github.com/alcionai/canario/src/pkg/account"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/repository" "github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/storage" "github.com/alcionai/canario/src/pkg/storage"
"github.com/alcionai/corso/src/pkg/storage/testdata" "github.com/alcionai/canario/src/pkg/storage/testdata"
) )
type dependencies struct { type dependencies struct {

View File

@ -5,12 +5,12 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/pflag" "github.com/spf13/pflag"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/fault" "github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------

View File

@ -11,19 +11,19 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/print" "github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations" "github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig" "github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
selTD "github.com/alcionai/corso/src/pkg/selectors/testdata" selTD "github.com/alcionai/canario/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata" storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
) )
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------

View File

@ -9,12 +9,12 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
) )
type OneDriveUnitSuite struct { type OneDriveUnitSuite struct {

View File

@ -7,15 +7,15 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"golang.org/x/exp/slices" "golang.org/x/exp/slices"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/pkg/fault" "github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/filters" "github.com/alcionai/canario/src/pkg/filters"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/services/m365" "github.com/alcionai/canario/src/pkg/services/m365"
) )
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------

View File

@ -13,21 +13,21 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/print" "github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations" "github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/its" "github.com/alcionai/canario/src/internal/tester/its"
"github.com/alcionai/corso/src/internal/tester/tconfig" "github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/backup/details" "github.com/alcionai/canario/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/selectors/testdata" "github.com/alcionai/canario/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata" storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
) )
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -110,7 +110,7 @@ func (suite *BackupSharepointE2ESuite) SetupSuite() {
} }
func (suite *BackupSharepointE2ESuite) TestSharepointBackupCmd_lists() { func (suite *BackupSharepointE2ESuite) TestSharepointBackupCmd_lists() {
// Issue: https://github.com/alcionai/corso/issues/4754 // Issue: https://github.com/alcionai/canario/issues/4754
suite.T().Skip("unskip when sharepoint lists support is enabled") suite.T().Skip("unskip when sharepoint lists support is enabled")
runSharepointBackupCategoryTest(suite, flags.DataLists) runSharepointBackupCategoryTest(suite, flags.DataLists)
} }
@ -142,7 +142,7 @@ func runSharepointBackupCategoryTest(suite *BackupSharepointE2ESuite, category s
} }
func (suite *BackupSharepointE2ESuite) TestSharepointBackupCmd_siteNotFound_lists() { func (suite *BackupSharepointE2ESuite) TestSharepointBackupCmd_siteNotFound_lists() {
// Issue: https://github.com/alcionai/corso/issues/4754 // Issue: https://github.com/alcionai/canario/issues/4754
suite.T().Skip("un-skip test when lists support is enabled") suite.T().Skip("un-skip test when lists support is enabled")
runSharepointBackupSiteNotFoundTest(suite, flags.DataLists) runSharepointBackupSiteNotFoundTest(suite, flags.DataLists)
} }

View File

@ -10,14 +10,14 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
type SharePointUnitSuite struct { type SharePointUnitSuite struct {

View File

@ -8,15 +8,15 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"golang.org/x/exp/slices" "golang.org/x/exp/slices"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/pkg/fault" "github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/filters" "github.com/alcionai/canario/src/pkg/filters"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/services/m365" "github.com/alcionai/canario/src/pkg/services/m365"
) )
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------

View File

@ -13,20 +13,20 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/print" "github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations" "github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/its" "github.com/alcionai/canario/src/internal/tester/its"
"github.com/alcionai/corso/src/internal/tester/tconfig" "github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
selTD "github.com/alcionai/corso/src/pkg/selectors/testdata" selTD "github.com/alcionai/canario/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata" storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
) )
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------

View File

@ -9,12 +9,12 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
) )
type TeamsChatsUnitSuite struct { type TeamsChatsUnitSuite struct {

View File

@ -9,18 +9,18 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"golang.org/x/exp/slices" "golang.org/x/exp/slices"
"github.com/alcionai/corso/src/cli/backup" "github.com/alcionai/canario/src/cli/backup"
"github.com/alcionai/corso/src/cli/debug" "github.com/alcionai/canario/src/cli/debug"
"github.com/alcionai/corso/src/cli/export" "github.com/alcionai/canario/src/cli/export"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/help" "github.com/alcionai/canario/src/cli/help"
"github.com/alcionai/corso/src/cli/print" "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/repo" "github.com/alcionai/canario/src/cli/repo"
"github.com/alcionai/corso/src/cli/restore" "github.com/alcionai/canario/src/cli/restore"
"github.com/alcionai/corso/src/internal/observe" "github.com/alcionai/canario/src/internal/observe"
"github.com/alcionai/corso/src/internal/version" "github.com/alcionai/canario/src/internal/version"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/logger" "github.com/alcionai/canario/src/pkg/logger"
) )
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
@ -28,9 +28,9 @@ import (
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
// The root-level command. // The root-level command.
// `corso <command> [<subcommand>] [<service>] [<flag>...]` // `canario <command> [<subcommand>] [<service>] [<flag>...]`
var corsoCmd = &cobra.Command{ var canarioCmd = &cobra.Command{
Use: "corso", Use: "canario",
Short: "Free, Secure, Open-Source Backup for M365.", Short: "Free, Secure, Open-Source Backup for M365.",
Long: `Free, Secure, and Open-Source Backup for Microsoft 365.`, Long: `Free, Secure, and Open-Source Backup for Microsoft 365.`,
RunE: handleCorsoCmd, RunE: handleCorsoCmd,
@ -54,7 +54,7 @@ func preRun(cc *cobra.Command, args []string) error {
} }
avoidTheseCommands := []string{ avoidTheseCommands := []string{
"corso", "env", "help", "backup", "details", "list", "restore", "export", "delete", "repo", "init", "connect", "canario", "env", "help", "backup", "details", "list", "restore", "export", "delete", "repo", "init", "connect",
} }
if len(logger.ResolvedLogFile) > 0 && !slices.Contains(avoidTheseCommands, cc.Use) { if len(logger.ResolvedLogFile) > 0 && !slices.Contains(avoidTheseCommands, cc.Use) {
@ -62,7 +62,7 @@ func preRun(cc *cobra.Command, args []string) error {
} }
// handle deprecated user flag in Backup exchange command // handle deprecated user flag in Backup exchange command
if cc.CommandPath() == "corso backup create exchange" { if cc.CommandPath() == "canario backup create exchange" {
handleMailBoxFlag(ctx, cc, flagSl) handleMailBoxFlag(ctx, cc, flagSl)
} }
@ -83,8 +83,8 @@ func handleMailBoxFlag(ctx context.Context, c *cobra.Command, flagNames []string
} }
} }
// Handler for flat calls to `corso`. // Handler for flat calls to `canario`.
// Produces the same output as `corso --help`. // Produces the same output as `canario --help`.
func handleCorsoCmd(cmd *cobra.Command, args []string) error { func handleCorsoCmd(cmd *cobra.Command, args []string) error {
v, _ := cmd.Flags().GetBool("version") v, _ := cmd.Flags().GetBool("version")
if v { if v {
@ -99,7 +99,7 @@ func handleCorsoCmd(cmd *cobra.Command, args []string) error {
// The command tree is built and attached to the returned command. // The command tree is built and attached to the returned command.
func CorsoCommand() *cobra.Command { func CorsoCommand() *cobra.Command {
c := &cobra.Command{} c := &cobra.Command{}
*c = *corsoCmd *c = *canarioCmd
BuildCommandTree(c) BuildCommandTree(c)
return c return c
@ -118,7 +118,7 @@ func BuildCommandTree(cmd *cobra.Command) {
observe.AddProgressBarFlags(cmd) observe.AddProgressBarFlags(cmd)
print.AddOutputFlag(cmd) print.AddOutputFlag(cmd)
flags.AddGlobalOperationFlags(cmd) flags.AddGlobalOperationFlags(cmd)
cmd.SetUsageTemplate(indentExamplesTemplate(corsoCmd.UsageTemplate())) cmd.SetUsageTemplate(indentExamplesTemplate(canarioCmd.UsageTemplate()))
cmd.CompletionOptions.DisableDefaultCmd = true cmd.CompletionOptions.DisableDefaultCmd = true
@ -139,10 +139,10 @@ func Handle() {
//nolint:forbidigo //nolint:forbidigo
ctx := config.Seed(context.Background()) ctx := config.Seed(context.Background())
ctx, log := logger.Seed(ctx, logger.PreloadLoggingFlags(os.Args[1:])) ctx, log := logger.Seed(ctx, logger.PreloadLoggingFlags(os.Args[1:]))
ctx = print.SetRootCmd(ctx, corsoCmd) ctx = print.SetRootCmd(ctx, canarioCmd)
ctx = observe.SeedObserver(ctx, print.StderrWriter(ctx), observe.PreloadFlags()) ctx = observe.SeedObserver(ctx, print.StderrWriter(ctx), observe.PreloadFlags())
BuildCommandTree(corsoCmd) BuildCommandTree(canarioCmd)
defer func() { defer func() {
observe.Flush(ctx) // flush the progress bars observe.Flush(ctx) // flush the progress bars
@ -150,7 +150,7 @@ func Handle() {
_ = log.Sync() // flush all logs in the buffer _ = log.Sync() // flush all logs in the buffer
}() }()
if err := corsoCmd.ExecuteContext(ctx); err != nil { if err := canarioCmd.ExecuteContext(ctx); err != nil {
logger.CtxErr(ctx, err).Error("cli execution") logger.CtxErr(ctx, err).Error("cli execution")
os.Exit(1) os.Exit(1)
} }

View File

@ -7,8 +7,8 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type CLIUnitSuite struct { type CLIUnitSuite struct {

View File

@ -6,11 +6,11 @@ import (
"github.com/alcionai/clues" "github.com/alcionai/clues"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/fault" "github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
var subCommandFuncs = []func() *cobra.Command{ var subCommandFuncs = []func() *cobra.Command{

View File

@ -3,9 +3,9 @@ package debug
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
// called by debug.go to map subcommands to provider-specific handling. // called by debug.go to map subcommands to provider-specific handling.

View File

@ -7,10 +7,10 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type ExchangeUnitSuite struct { type ExchangeUnitSuite struct {

View File

@ -3,9 +3,9 @@ package debug
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
// called by debug.go to map subcommands to provider-specific handling. // called by debug.go to map subcommands to provider-specific handling.

View File

@ -7,10 +7,10 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type GroupsUnitSuite struct { type GroupsUnitSuite struct {

View File

@ -3,9 +3,9 @@ package debug
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
// called by debug.go to map subcommands to provider-specific handling. // called by debug.go to map subcommands to provider-specific handling.

View File

@ -7,10 +7,10 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type OneDriveUnitSuite struct { type OneDriveUnitSuite struct {

View File

@ -3,9 +3,9 @@ package debug
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
// called by debug.go to map subcommands to provider-specific handling. // called by debug.go to map subcommands to provider-specific handling.

View File

@ -7,10 +7,10 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type SharePointUnitSuite struct { type SharePointUnitSuite struct {

View File

@ -4,8 +4,8 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
) )
// called by export.go to map subcommands to provider-specific handling. // called by export.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type ExchangeUnitSuite struct { type ExchangeUnitSuite struct {

View File

@ -8,16 +8,16 @@ import (
"github.com/dustin/go-humanize" "github.com/dustin/go-humanize"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/data" "github.com/alcionai/canario/src/internal/data"
"github.com/alcionai/corso/src/internal/observe" "github.com/alcionai/canario/src/internal/observe"
"github.com/alcionai/corso/src/internal/operations" "github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/corso/src/pkg/dttm" "github.com/alcionai/canario/src/pkg/dttm"
"github.com/alcionai/corso/src/pkg/export" "github.com/alcionai/canario/src/pkg/export"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
var exportCommands = []func(cmd *cobra.Command) *cobra.Command{ var exportCommands = []func(cmd *cobra.Command) *cobra.Command{

View File

@ -4,9 +4,9 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
) )
// called by export.go to map subcommands to provider-specific handling. // called by export.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type GroupsUnitSuite struct { type GroupsUnitSuite struct {

View File

@ -4,8 +4,8 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
) )
// called by export.go to map subcommands to provider-specific handling. // called by export.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type OneDriveUnitSuite struct { type OneDriveUnitSuite struct {

View File

@ -4,8 +4,8 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
) )
// called by export.go to map subcommands to provider-specific handling. // called by export.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type SharePointUnitSuite struct { type SharePointUnitSuite struct {

View File

@ -3,7 +3,7 @@ package flags
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/pkg/storage" "github.com/alcionai/canario/src/pkg/storage"
) )
// filesystem flag names // filesystem flag names

View File

@ -3,7 +3,7 @@ package flags
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/pkg/control/repository" "github.com/alcionai/canario/src/pkg/control/repository"
) )
const ( const (

View File

@ -3,7 +3,7 @@ package flags
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
) )
const ( const (

View File

@ -5,7 +5,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/pkg/control/repository" "github.com/alcionai/canario/src/pkg/control/repository"
) )
const ( const (

View File

@ -5,8 +5,8 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/pkg/credentials" "github.com/alcionai/canario/src/pkg/credentials"
"github.com/alcionai/corso/src/pkg/storage" "github.com/alcionai/canario/src/pkg/storage"
) )
// S3 bucket flags // S3 bucket flags

View File

@ -6,7 +6,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"gotest.tools/v3/assert" "gotest.tools/v3/assert"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
) )
func PreparedBackupListFlags() []string { func PreparedBackupListFlags() []string {

View File

@ -6,7 +6,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
) )
func PreparedChannelFlags() []string { func PreparedChannelFlags() []string {

View File

@ -6,7 +6,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
) )
func PreparedStorageFlags() []string { func PreparedStorageFlags() []string {

View File

@ -6,7 +6,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
) )
func PreparedLibraryFlags() []string { func PreparedLibraryFlags() []string {

View File

@ -3,7 +3,7 @@ package help
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
) )
// AddCommands attaches all `corso env * *` commands to the parent. // AddCommands attaches all `corso env * *` commands to the parent.

View File

@ -8,7 +8,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type EnvSuite struct { type EnvSuite struct {

View File

@ -11,8 +11,8 @@ import (
"github.com/tidwall/pretty" "github.com/tidwall/pretty"
"github.com/tomlazar/table" "github.com/tomlazar/table"
"github.com/alcionai/corso/src/internal/common/color" "github.com/alcionai/canario/src/internal/common/color"
"github.com/alcionai/corso/src/internal/observe" "github.com/alcionai/canario/src/internal/observe"
) )
var ( var (

View File

@ -9,7 +9,7 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type PrintUnitSuite struct { type PrintUnitSuite struct {

View File

@ -4,14 +4,14 @@ import (
"github.com/alcionai/clues" "github.com/alcionai/clues"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/events" "github.com/alcionai/canario/src/internal/events"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
ctrlRepo "github.com/alcionai/corso/src/pkg/control/repository" ctrlRepo "github.com/alcionai/canario/src/pkg/control/repository"
"github.com/alcionai/corso/src/pkg/repository" "github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/storage" "github.com/alcionai/canario/src/pkg/storage"
) )
const ( const (

View File

@ -8,17 +8,17 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig" "github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/account" "github.com/alcionai/canario/src/pkg/account"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/corso/src/pkg/repository" "github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/storage" "github.com/alcionai/canario/src/pkg/storage"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata" storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
) )
type FilesystemE2ESuite struct { type FilesystemE2ESuite struct {

View File

@ -8,7 +8,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type FilesystemSuite struct { type FilesystemSuite struct {

View File

@ -7,13 +7,13 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"golang.org/x/exp/maps" "golang.org/x/exp/maps"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/events" "github.com/alcionai/canario/src/internal/events"
"github.com/alcionai/corso/src/pkg/control/repository" "github.com/alcionai/canario/src/pkg/control/repository"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
repo "github.com/alcionai/corso/src/pkg/repository" repo "github.com/alcionai/canario/src/pkg/repository"
) )
const ( const (

View File

@ -9,15 +9,15 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/repo" "github.com/alcionai/canario/src/cli/repo"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig" "github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/storage" "github.com/alcionai/canario/src/pkg/storage"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata" storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
) )
type RepoUnitSuite struct { type RepoUnitSuite struct {

View File

@ -6,13 +6,13 @@ import (
"github.com/alcionai/clues" "github.com/alcionai/clues"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/events" "github.com/alcionai/canario/src/internal/events"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/repository" "github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/storage" "github.com/alcionai/canario/src/pkg/storage"
) )
// called by repo.go to map subcommands to provider-specific handling. // called by repo.go to map subcommands to provider-specific handling.

View File

@ -10,18 +10,18 @@ import (
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"golang.org/x/exp/maps" "golang.org/x/exp/maps"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/str" "github.com/alcionai/canario/src/internal/common/str"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig" "github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/account" "github.com/alcionai/canario/src/pkg/account"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/corso/src/pkg/repository" "github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/storage" "github.com/alcionai/canario/src/pkg/storage"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata" storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
) )
type S3E2ESuite struct { type S3E2ESuite struct {

View File

@ -8,7 +8,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type S3Suite struct { type S3Suite struct {

View File

@ -3,8 +3,8 @@ package restore
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
) )
// called by restore.go to map subcommands to provider-specific handling. // called by restore.go to map subcommands to provider-specific handling.

View File

@ -10,22 +10,22 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli" "github.com/alcionai/canario/src/cli"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname" "github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations" "github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig" "github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/account" "github.com/alcionai/canario/src/pkg/account"
"github.com/alcionai/corso/src/pkg/config" "github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/repository" "github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/services/m365/api" "github.com/alcionai/canario/src/pkg/services/m365/api"
"github.com/alcionai/corso/src/pkg/storage" "github.com/alcionai/canario/src/pkg/storage"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata" storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
) )
var ( var (

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type ExchangeUnitSuite struct { type ExchangeUnitSuite struct {

View File

@ -3,10 +3,10 @@ package restore
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/dttm" "github.com/alcionai/canario/src/pkg/dttm"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
// called by restore.go to map subcommands to provider-specific handling. // called by restore.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type GroupsUnitSuite struct { type GroupsUnitSuite struct {

View File

@ -3,9 +3,9 @@ package restore
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/dttm" "github.com/alcionai/canario/src/pkg/dttm"
) )
// called by restore.go to map subcommands to provider-specific handling. // called by restore.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type OneDriveUnitSuite struct { type OneDriveUnitSuite struct {

View File

@ -7,12 +7,12 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print" . "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/data" "github.com/alcionai/canario/src/internal/data"
"github.com/alcionai/corso/src/pkg/count" "github.com/alcionai/canario/src/pkg/count"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
var restoreCommands = []func(cmd *cobra.Command) *cobra.Command{ var restoreCommands = []func(cmd *cobra.Command) *cobra.Command{

View File

@ -3,9 +3,9 @@ package restore
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/pkg/dttm" "github.com/alcionai/canario/src/pkg/dttm"
) )
// called by restore.go to map subcommands to provider-specific handling. // called by restore.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata" flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata" cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type SharePointUnitSuite struct { type SharePointUnitSuite struct {

View File

@ -13,8 +13,8 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
// StubRootCmd builds a stub cobra command to be used as // StubRootCmd builds a stub cobra command to be used as
@ -22,7 +22,7 @@ import (
func StubRootCmd(args ...string) *cobra.Command { func StubRootCmd(args ...string) *cobra.Command {
id := uuid.NewString() id := uuid.NewString()
now := time.Now().UTC().Format(time.RFC3339Nano) now := time.Now().UTC().Format(time.RFC3339Nano)
cmdArg := "testing-corso" cmdArg := "testing-canario"
c := &cobra.Command{ c := &cobra.Command{
Use: cmdArg, Use: cmdArg,
Short: id, Short: id,

View File

@ -4,8 +4,8 @@ import (
"github.com/alcionai/clues" "github.com/alcionai/clues"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
type ExchangeOpts struct { type ExchangeOpts struct {

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/pkg/dttm" "github.com/alcionai/canario/src/pkg/dttm"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
type ExchangeUtilsSuite struct { type ExchangeUtilsSuite struct {

View File

@ -7,9 +7,9 @@ import (
"github.com/alcionai/clues" "github.com/alcionai/clues"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/corso/src/pkg/filters" "github.com/alcionai/canario/src/pkg/filters"
) )
type ExportCfgOpts struct { type ExportCfgOpts struct {

View File

@ -7,9 +7,9 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/canario/src/pkg/control"
) )
type ExportCfgUnitSuite struct { type ExportCfgUnitSuite struct {

View File

@ -6,10 +6,10 @@ import (
"github.com/alcionai/clues" "github.com/alcionai/clues"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/pkg/dttm" "github.com/alcionai/canario/src/pkg/dttm"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
// IsValidTimeFormat returns true if the input is recognized as a // IsValidTimeFormat returns true if the input is recognized as a

View File

@ -9,8 +9,8 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
) )
type FlagUnitSuite struct { type FlagUnitSuite struct {

View File

@ -6,8 +6,8 @@ import (
"github.com/alcionai/clues" "github.com/alcionai/clues"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
type GroupsOpts struct { type GroupsOpts struct {

View File

@ -6,12 +6,12 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite" "github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags" "github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils" "github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/corso/src/pkg/dttm" "github.com/alcionai/canario/src/pkg/dttm"
"github.com/alcionai/corso/src/pkg/path" "github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors" "github.com/alcionai/canario/src/pkg/selectors"
) )
type GroupsUtilsSuite struct { type GroupsUtilsSuite struct {

Some files were not shown because too many files have changed in this diff Show More