Files
threshold-ui/addons/api/app/mirage/generated/factories/auth-method.js
T
hashiccandZhihe Li 63b810d53f Migrate from ember-cli-mirage to miragejs (#3088)
* chore: 🤖 import explicit mirage references

* chore: 🤖 add mirage setupMirage helper

* chore: 🤖 working example with application adapter test

* chore: 🤖 use internal setupMirage test helper from api addon

* chore: 🤖 conditionally load mirage

* chore: 🤖 filter mirage folder inclusion in production builds

* chore: 🤖 drop ember-mirage and use our own test helpers

* chore: 🤖 collapse reference to import declaration

* docs: ✏️ add comment better explaining the mirage test env

* chore: 🤖 update configuration and manage mirage-related deps

* fix: 🐛 restore ipc mock and add missing checkOS handler

* chore: 🤖 add comment explaining omitting mirage deps in build

* chore: 🤖 allow mirage.enabled to include deps and handlers

* chore: 🤖 re-enable mirage for core dummy app

* Add missing copyright headers

* chore: 🤖 use embroider macros to conditionally start mirage

* docs: ✏️ update api readme for mirage changes

* chore: 🤖 replace remaining ember-cli-mirage references

* chore: 🤖 add mirage to test builds

* fix: 🐛 ensure that auto mirage start doesn't happen in test env

* chore: 🤖 use const instead of var

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* refactor: 💡 use cleaner logic for excluded api build modules

* fix: 🐛 handle issue where importSync was too eager

This was fixed by bumping the @embroider/macros dependency that includes
a fix to this issue:
https://github.com/embroider-build/embroider/pull/2511

* refactor: 💡 move mirage from addon to app directory

* refactor: 💡 update mirage test helper to be a factory

* chore: 🤖 exclude mirage directory when necessary at build time

* chore: 🤖 add miragejs as admin dev dependency

* refactor: 💡 update reference to startMirage

* chore: 🤖 update local mirage test helper

* chore: 🤖 change import path for mirage on desktop

* chore: 🤖 update imports in tests for startMirage

* chore: 🤖 update startMirage imports for api addon tests

* chore: 🤖 add miragejs dev dep to desktop

* docs: ✏️ update README

* chore: 🤖 set up setupMirage for core tests

* chore: 🤖 fix copyright header

* Add missing copyright headers

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2026-02-03 13:54:32 -05:00

84 lines
2.7 KiB
JavaScript

/**
* Copyright IBM Corp. 2021, 2026
* SPDX-License-Identifier: BUSL-1.1
*/
import { Factory } from 'miragejs';
import { faker } from '@faker-js/faker';
import {
TYPE_AUTH_METHOD_PASSWORD,
TYPE_AUTH_METHOD_OIDC,
TYPE_AUTH_METHOD_LDAP,
} from 'api/models/auth-method';
/**
* GeneratedAuthMethodModelFactory
*/
export default Factory.extend({
type: TYPE_AUTH_METHOD_PASSWORD,
name: () => faker.word.words(),
description: () => faker.word.words(),
created_time: () => faker.date.recent(),
updated_time: () => faker.date.recent(),
disabled: () => faker.datatype.boolean(),
attributes: function () {
let attrs;
switch (this.type) {
case TYPE_AUTH_METHOD_OIDC:
attrs = {
api_url_prefix: 'http://127.0.0.1:9200',
callback_url:
'http://127.0.0.1:9200/v1/auth-methods/oidc:authenticate:callback',
client_id: 'YTwdJBB55LpKnuXb9n65',
client_secret_hmac: 'GY7blb4ynM5TEPNi_qnphJ9aDWhW8FpmN3D-eP_L7Zk',
issuer: 'http://127.0.0.1:57070',
max_age: 1800,
disable_discovered_config_validation: false,
state: 'active-public',
account_claim_maps: ['oid=sub', 'full_name=name'],
claims_scopes: ['profile', 'email'],
signing_algorithms: ['RS256', 'RS384'],
allowed_audiences: ['www.alice.com', 'www.alice.com/admin'],
idp_ca_certs: ['certificate-1234', 'certificate-5678'],
prompts: ['consent'],
};
break;
case TYPE_AUTH_METHOD_LDAP:
attrs = {
state: 'active-public',
urls: [`ldap://${faker.internet.domainName()}`],
certificates: [faker.string.alphanumeric(50)],
client_certificate: faker.string.alphanumeric(50),
client_certificate_key: `---Begin Certificate --- ${faker.string.alphanumeric(
170,
)} ---End Certificate ---`,
client_certificate_key_hmac: faker.string.alphanumeric(50),
enable_groups: true,
start_tls: false,
insecure_tls: false,
bind_dn: 'cn=read-only-admin,dc=example,dc=com',
bind_password: 'password',
bind_password_hmac: faker.string.alphanumeric(50),
upn_domain: 'example.com',
discover_dn: false,
anon_group_search: false,
user_dn: 'dc=example,dc=com',
user_attr: 'uid',
user_filter: '({{.UserAttr}}={{.Username}})',
group_dn: 'dc=example,dc=com',
group_attr: 'cn',
group_filter: '(|(memberUid={{.Username}})',
account_attribute_maps: [
'preferredName=fullName',
'preferredEmail=email',
],
use_token_groups: false,
};
break;
}
return attrs;
},
});