mirror of
https://github.com/garrytan/gstack.git
synced 2026-07-19 14:07:22 +02:00
Merge pull request #2222 from time-attack/fix-brain-trust-policy-reject
fix(gstack-config): accept @local endpoint ids for brain_trust_policy
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
* 3. sha8($(git config user.email))
|
||||
* 4. anonymous-<sha8(hostname)>
|
||||
*
|
||||
* Result is persisted under user_slug_at_<endpoint-hash> for stability.
|
||||
* Result is persisted under user_slug_at_<endpoint-id> for stability.
|
||||
* Test isolation via GSTACK_HOME and HOME env overrides.
|
||||
*
|
||||
* Gate-tier, free, ~50ms.
|
||||
@@ -87,12 +87,12 @@ describe('resolve-user-slug fallback chain', () => {
|
||||
expect(slug).toMatch(/^(email-|anonymous-)[a-f0-9]+$|^[a-zA-Z0-9-]+$/);
|
||||
});
|
||||
|
||||
test('persists resolution to user_slug_at_<hash> on first call', () => {
|
||||
test('persists resolution to user_slug_at_<endpoint-id> on first call', () => {
|
||||
runConfig(['resolve-user-slug'], { GSTACK_HOME: TMP_HOME, USER: 'persisttest' });
|
||||
const configFile = join(TMP_HOME, 'config.yaml');
|
||||
expect(existsSync(configFile)).toBe(true);
|
||||
const content = readFileSync(configFile, 'utf-8');
|
||||
expect(content).toMatch(/^user_slug_at_[a-f0-9]+:\s+persisttest/m);
|
||||
expect(content).toMatch(/^user_slug_at_(local|[a-f0-9]{8}|[a-f0-9]{16}):\s+persisttest/m);
|
||||
});
|
||||
|
||||
test('subsequent calls return same slug (stable across sessions)', () => {
|
||||
@@ -104,7 +104,7 @@ describe('resolve-user-slug fallback chain', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('brain_trust_policy@<hash> namespace', () => {
|
||||
describe('brain_trust_policy@<endpoint-id> namespace', () => {
|
||||
test('default value is "unset"', () => {
|
||||
const result = runConfig(['get', 'brain_trust_policy@deadbeef'], { GSTACK_HOME: TMP_HOME });
|
||||
expect(result.status).toBe(0);
|
||||
@@ -158,4 +158,10 @@ describe('key validation', () => {
|
||||
const result = runConfig(['get', 'brain_trust_policy@abc123ff'], { GSTACK_HOME: TMP_HOME });
|
||||
expect(result.status).toBe(0);
|
||||
});
|
||||
|
||||
test('accepts @local suffix on key', () => {
|
||||
const result = runConfig(['get', 'brain_trust_policy@local'], { GSTACK_HOME: TMP_HOME });
|
||||
expect(result.status).toBe(0);
|
||||
expect(result.stdout).toBe('unset');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user