Skip to content

Commit

Permalink
Polishing.
Browse files Browse the repository at this point in the history
Expose factory methods for easier capabilities creation.

See gh-575.
  • Loading branch information
mp911de committed Aug 11, 2020
1 parent 225c5ed commit 2b11b9d
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
Expand Up @@ -546,7 +546,6 @@ public enum BuiltinCapabilities implements Capability {
/**
* Deprecated: Previous capability literal before it was split into
* {@link #CREATE} and {@link #UPDATE}.
*
* @deprecated since 2.3 and Vault 0.5.
*/
@Deprecated
Expand Down Expand Up @@ -595,6 +594,27 @@ public static Capability find(String value) {
return null;
}

/**
* Return all capabilities ({@link #CREATE},{@link #READ},{@link #UPDATE},
* {@link #DELETE}, {@link #LIST}) for regular CRUD operations.
* @return all CRUD operations.
* @since 2.3
*/
public static List<Capability> crud() {
return Arrays.asList(CREATE, READ, UPDATE, DELETE, LIST);
}

/**
* Return all capabilities ({@link #CREATE},{@link #READ},{@link #UPDATE},
* {@link #DELETE}, {@link #LIST}) for regular CRUD operations including
* {@link #SUDO}.
* @return all CRUD operations including SUDO.
* @since 2.3
*/
public static List<Capability> crudAndSudo() {
return Arrays.asList(CREATE, READ, UPDATE, DELETE, LIST, SUDO);
}

}

static class PolicySerializer extends JsonSerializer<Policy> {
Expand Down
Expand Up @@ -129,4 +129,18 @@ void shouldDeserializeRuleWithHour() throws Exception {
assertThat(rule.getMinWrappingTtl()).isEqualTo(Duration.ofHours(1));
}

@Test
void crudShouldReturnCrudCapabilities() {

assertThat(Policy.BuiltinCapabilities.crud()).hasSize(5).contains(Policy.BuiltinCapabilities.CREATE)
.doesNotContain(Policy.BuiltinCapabilities.SUDO);
}

@Test
void sudoShouldReturnCrudAndSudoCapabilities() {

assertThat(Policy.BuiltinCapabilities.crudAndSudo()).hasSize(6).contains(Policy.BuiltinCapabilities.CREATE)
.contains(Policy.BuiltinCapabilities.SUDO);
}

}

0 comments on commit 2b11b9d

Please sign in to comment.