mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
[25.05] kanidm-provision: 1.2.1 -> 1.3.0 (#415062)
This commit is contained in:
commit
3f2e2a09cf
3 changed files with 33 additions and 12 deletions
|
@ -465,6 +465,17 @@ in
|
|||
apply = unique;
|
||||
default = [ ];
|
||||
};
|
||||
|
||||
overwriteMembers = mkOption {
|
||||
description = ''
|
||||
Whether the member list should be overwritten each time (true) or appended
|
||||
(false). Append mode allows interactive group management in addition to the
|
||||
declared members. Also, future member removals cannot be reflected
|
||||
automatically in append mode.
|
||||
'';
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
config.members = concatLists (
|
||||
flip mapAttrsToList cfg.provision.persons (
|
||||
|
|
|
@ -74,6 +74,10 @@ import ./make-test-python.nix (
|
|||
};
|
||||
|
||||
groups.testgroup1 = { };
|
||||
groups.imperative = {
|
||||
overwriteMembers = false;
|
||||
members = [ "testuser1" ];
|
||||
};
|
||||
|
||||
persons.testuser1 = {
|
||||
displayName = "Test User";
|
||||
|
@ -134,6 +138,11 @@ import ./make-test-python.nix (
|
|||
};
|
||||
|
||||
groups.testgroup1 = { };
|
||||
groups.imperative = {
|
||||
overwriteMembers = false;
|
||||
# Will be retained:
|
||||
# members = [ "testuser1" ];
|
||||
};
|
||||
|
||||
persons.testuser1 = {
|
||||
displayName = "Test User (changed)";
|
||||
|
@ -329,6 +338,10 @@ import ./make-test-python.nix (
|
|||
out = provision.succeed("kanidm group get testgroup1")
|
||||
assert_contains(out, "name: testgroup1")
|
||||
|
||||
out = provision.succeed("kanidm group get imperative")
|
||||
assert_contains(out, "name: imperative")
|
||||
assert_contains(out, "member: testuser1")
|
||||
|
||||
out = provision.succeed("kanidm group get supergroup1")
|
||||
assert_contains(out, "name: supergroup1")
|
||||
assert_contains(out, "member: testgroup1")
|
||||
|
@ -339,6 +352,7 @@ import ./make-test-python.nix (
|
|||
assert_contains(out, "legalname: Jane Doe")
|
||||
assert_contains(out, "mail: jane.doe@example.com")
|
||||
assert_contains(out, "memberof: testgroup1")
|
||||
assert_contains(out, "memberof: imperative")
|
||||
assert_contains(out, "memberof: service1-access")
|
||||
|
||||
out = provision.succeed("kanidm person get testuser2")
|
||||
|
@ -383,6 +397,10 @@ import ./make-test-python.nix (
|
|||
out = provision.succeed("kanidm group get testgroup1")
|
||||
assert_contains(out, "name: testgroup1")
|
||||
|
||||
out = provision.succeed("kanidm group get imperative")
|
||||
assert_contains(out, "name: imperative")
|
||||
assert_contains(out, "member: testuser1")
|
||||
|
||||
out = provision.succeed("kanidm group get supergroup1")
|
||||
assert_contains(out, "name: supergroup1")
|
||||
assert_lacks(out, "member: testgroup1")
|
||||
|
@ -394,6 +412,7 @@ import ./make-test-python.nix (
|
|||
assert_contains(out, "mail: jane.doe@example.com")
|
||||
assert_contains(out, "mail: second.doe@example.com")
|
||||
assert_lacks(out, "memberof: testgroup1")
|
||||
assert_contains(out, "memberof: imperative")
|
||||
assert_contains(out, "memberof: service1-access")
|
||||
|
||||
out = provision.succeed("kanidm person get testuser2")
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
yq,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
nixosTests,
|
||||
|
@ -10,25 +9,17 @@
|
|||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "kanidm-provision";
|
||||
version = "1.2.1";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oddlama";
|
||||
repo = "kanidm-provision";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-kwxGrLz59Zk8PSsfQzPUeA/xWQZrV1NWlS5/yuqfIyI=";
|
||||
hash = "sha256-m3bF4wFPVRc2E+E/pZc3js9T4rYbTejo/FFpysytWKw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
tomlq -ti '.package.version = "${finalAttrs.version}"' Cargo.toml
|
||||
'';
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-uo/TGyfNChq/t6Dah0HhXhAwktyQk0V/wewezZuftNk=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
yq # for `tomlq`
|
||||
];
|
||||
cargoHash = "sha256-dPTrIc/hTbMlFDXYMk/dTjqaNECazldfW43egDOwyLM=";
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "--version";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue