Skip to content
This repository has been archived by the owner on Nov 27, 2024. It is now read-only.

test: add integration test for instance-to-instance interaction #481

Merged
merged 12 commits into from
Aug 17, 2023

Conversation

AustinGreen
Copy link
Contributor

Motivation:

Before deployment, we want to test common workflows such as a Llama instance delegating responsibility to authorize additional strategy logics to another instance and the ability to instantly execute actions when the strategy permits.

Modifications:

  • Adding tests for atomic execution strategies. There are multiple ways to create, queue, and execute actions in a single block. A multi-call contract can be used with createActionBySig or we can deploy a custom contract for this purpose.
  • Added an integration test that walks through the entire workflow of deploying two instances that have a working relationship. In this example one instance can propose "updating" (authorizing additional strategy logics) another instance. This test walks through a realistic example on how instances could use scripts to simplify steps.

Result:

A more robust test suite as we're nearing launch.

@github-actions
Copy link

Coverage after merging austin/integrations into main will be

84.34%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src
   LlamaCore.sol99.31%97.44%100%100%299, 399
   LlamaExecutor.sol80%50%100%100%33
   LlamaFactory.sol100%100%100%100%
   LlamaLens.sol72.09%20%100%82.61%174–175, 178, 178, 178–179, 179, 179–180, 180, 180, 188
   LlamaPolicy.sol91.53%88.89%94.59%91.38%353, 392, 392, 392–394, 394, 394, 396–399, 401, 419
   LlamaPolicyMetadata.sol100%100%100%100%
src/accounts
   LlamaAccount.sol100%100%100%100%
src/lib
   ERC721NonTransferableMinimalProxy.sol70.42%72.73%72.73%68.42%102, 104, 106, 118–120, 190, 88, 88, 88, 90, 90, 90, 92, 92, 92, 97, 99
   LlamaUtils.sol100%100%100%100%
   PolicyholderCheckpoints.sol55.88%50%81.82%53.62%130, 184–186, 186, 186–187, 189, 192, 222, 229, 229–231, 233, 233–235, 237, 237–239, 241, 241–243, 262, 265–271, 278, 46, 46–48, 48, 48–49, 51
   SupplyCheckpoints.sol57.14%50%83.33%54.93%131, 183–185, 185, 185–186, 188, 191, 235, 242, 242–244, 246, 246–248, 250, 250–252, 254, 254–256, 275, 278–284, 291, 50, 50–52, 52, 52–53, 55
src/llama-scripts
   LlamaGovernanceScript.sol50%33.33%43.75%53.45%107–108, 120–122, 132–134, 146–149, 159–161, 176–180, 190–191, 203–205, 71, 78, 78, 80, 96–97
src/strategies/absolute
   LlamaAbsolutePeerReview.sol100%100%100%100%
   LlamaAbsoluteQuorum.sol100%100%100%100%
   LlamaAbsoluteStrategyBase.sol94.81%87.50%90.91%98%243, 246, 296
src/strategies/relative
   LlamaRelativeHolderQuorum.sol91.67%75%100%100%52, 59
   LlamaRelativeQuantityQuorum.sol0%0%0%0%28, 28, 28–30, 42, 42, 42–44, 51–52, 52, 52–53, 58–59, 59, 59–60
   LlamaRelativeStrategyBase.sol97.62%90.91%100%100%208, 310
   LlamaRelativeUniqueHolderQuorum.sol93.33%83.33%100%100%54, 61

Copy link
Contributor

@dd0sxx dd0sxx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@AustinGreen AustinGreen merged commit 77d065d into main Aug 17, 2023
5 checks passed
@AustinGreen AustinGreen deleted the austin/integrations branch August 17, 2023 21:27
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants