forked from Azure/azure-sdk-for-js
-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Authentication events for Azure functions (Azure#22964)
* Init check in * Integrating with Rush * Aligned with main C# Library * Updated tests * Arch Review 1 * Arch Review 2 * Arch Review 2 * Arch Review 2 * Refactor * Jose fixes * Lock file * Update lock file * Updated API doc Co-authored-by: Jose Manuel Heredia Hidalgo <joheredi@microsoft.com>
- Loading branch information
1 parent
3484a35
commit 87ff3e6
Showing
24 changed files
with
2,904 additions
and
1,040 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. | ||
|
||
trigger: | ||
branches: | ||
include: | ||
- main | ||
- release/* | ||
- hotfix/* | ||
paths: | ||
include: | ||
- sdk/entra/functions-authentication-events/ | ||
|
||
pr: | ||
branches: | ||
include: | ||
- main | ||
- feature/* | ||
- release/* | ||
- hotfix/* | ||
paths: | ||
include: | ||
- sdk/entra/functions-authentication-events/ | ||
|
||
extends: | ||
template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml | ||
parameters: | ||
ServiceDirectory: entra | ||
Artifacts: | ||
- name: azure-functions-authentication-events | ||
safeName: azurefunctionsauthenticationevents |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
{ | ||
"include": [ | ||
"dist-esm/src/**/*.js" | ||
], | ||
"exclude": [ | ||
"**/*.d.ts", | ||
"dist-esm/src/generated/*" | ||
], | ||
"reporter": [ | ||
"text-summary", | ||
"html", | ||
"cobertura" | ||
], | ||
"exclude-after-remap": false, | ||
"sourceMap": true, | ||
"produce-source-map": true, | ||
"instrument": true, | ||
"all": true | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Release History | ||
|
||
## 1.0.0-beta.1 (2022-09-14) | ||
|
||
- The initial beta release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
The MIT License (MIT) | ||
|
||
Copyright (c) 2020 Microsoft | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
Large diffs are not rendered by default.
Oops, something went wrong.
31 changes: 31 additions & 0 deletions
31
sdk/entra/functions-authentication-events/api-extractor.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
{ | ||
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", | ||
"mainEntryPointFilePath": "types/src/index.d.ts", | ||
"docModel": { | ||
"enabled": true | ||
}, | ||
"apiReport": { | ||
"enabled": true, | ||
"reportFolder": "./review" | ||
}, | ||
"dtsRollup": { | ||
"enabled": true, | ||
"untrimmedFilePath": "", | ||
"publicTrimmedFilePath": "./types/latest/functions-authentication-events.d.ts" | ||
}, | ||
"messages": { | ||
"tsdocMessageReporting": { | ||
"default": { | ||
"logLevel": "none" | ||
} | ||
}, | ||
"extractorMessageReporting": { | ||
"ae-missing-release-tag": { | ||
"logLevel": "none" | ||
}, | ||
"ae-unresolved-link": { | ||
"logLevel": "none" | ||
} | ||
} | ||
} | ||
} |
124 changes: 124 additions & 0 deletions
124
sdk/entra/functions-authentication-events/karma.conf.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. | ||
|
||
// https://github.com/karma-runner/karma-chrome-launcher | ||
process.env.CHROME_BIN = require("puppeteer").executablePath(); | ||
process.env.RECORDINGS_RELATIVE_PATH = | ||
require("@azure-tools/test-recorder").relativeRecordingsPath(); | ||
require("dotenv").config(); | ||
|
||
module.exports = function (config) { | ||
config.set({ | ||
// base path that will be used to resolve all patterns (eg. files, exclude) | ||
basePath: "./", | ||
|
||
// frameworks to use | ||
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter | ||
frameworks: ["mocha"], | ||
|
||
plugins: [ | ||
"karma-mocha", | ||
"karma-mocha-reporter", | ||
"karma-chrome-launcher", | ||
"karma-edge-launcher", | ||
"karma-firefox-launcher", | ||
"karma-ie-launcher", | ||
"karma-env-preprocessor", | ||
"karma-coverage", | ||
"karma-junit-reporter", | ||
], | ||
|
||
// list of files / patterns to load in the browser | ||
files: [ | ||
"dist-test/index.browser.js", | ||
{ pattern: "dist-test/index.browser.js.map", type: "html", included: false, served: true }, | ||
], | ||
|
||
// list of files / patterns to exclude | ||
exclude: [], | ||
|
||
// preprocess matching files before serving them to the browser | ||
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor | ||
preprocessors: { | ||
"**/*.js": ["env"], | ||
// IMPORTANT: COMMENT following line if you want to debug in your browsers!! | ||
// Preprocess source file to calculate code coverage, however this will make source file unreadable | ||
//"dist-test/index.browser.js": ["coverage"] | ||
}, | ||
|
||
envPreprocessor: [ | ||
"TEST_MODE", | ||
"APPCONFIG_ENDPOINT", | ||
"APPCONFIG_TEST_SETTING_KEY", | ||
"APPCONFIG_TEST_SETTING_EXPECTED_VALUE", | ||
"AZURE_CLIENT_ID", | ||
"AZURE_CLIENT_SECRET", | ||
"AZURE_TENANT_ID", | ||
"RECORDINGS_RELATIVE_PATH", | ||
], | ||
|
||
// test results reporter to use | ||
// possible values: 'dots', 'progress' | ||
// available reporters: https://npmjs.org/browse/keyword/karma-reporter | ||
reporters: ["mocha", "coverage", "junit"], | ||
|
||
coverageReporter: { | ||
// specify a common output directory | ||
dir: "coverage-browser/", | ||
reporters: [{ type: "json", subdir: ".", file: "coverage.json" }], | ||
}, | ||
|
||
junitReporter: { | ||
outputDir: "", // results will be saved as $outputDir/$browserName.xml | ||
outputFile: "test-results.browser.xml", // if included, results will be saved as $outputDir/$browserName/$outputFile | ||
suite: "", // suite will become the package name attribute in xml testsuite element | ||
useBrowserName: false, // add browser name to report and classes names | ||
nameFormatter: undefined, // function (browser, result) to customize the name attribute in xml testcase element | ||
classNameFormatter: undefined, // function (browser, result) to customize the classname attribute in xml testcase element | ||
properties: {}, // key value pair of properties to add to the <properties> section of the report | ||
}, | ||
|
||
// web server port | ||
port: 9876, | ||
|
||
// enable / disable colors in the output (reporters and logs) | ||
colors: true, | ||
|
||
// level of logging | ||
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG | ||
logLevel: config.LOG_INFO, | ||
|
||
// enable / disable watching file and executing tests whenever any file changes | ||
autoWatch: false, | ||
|
||
// --no-sandbox allows our tests to run in Linux without having to change the system. | ||
// --disable-web-security allows us to authenticate from the browser without having to write tests using interactive auth, which would be far more complex. | ||
browsers: ["ChromeHeadlessNoSandbox"], | ||
customLaunchers: { | ||
ChromeHeadlessNoSandbox: { | ||
base: "ChromeHeadless", | ||
flags: ["--no-sandbox", "--disable-web-security"], | ||
}, | ||
}, | ||
|
||
// Continuous Integration mode | ||
// if true, Karma captures browsers, runs the tests and exits | ||
singleRun: true, | ||
|
||
// Concurrency level | ||
// how many browser should be started simultaneous | ||
concurrency: 1, | ||
|
||
browserNoActivityTimeout: 600000, | ||
browserDisconnectTimeout: 10000, | ||
browserDisconnectTolerance: 3, | ||
|
||
client: { | ||
mocha: { | ||
// change Karma's debug.html to the mocha web reporter | ||
reporter: "html", | ||
timeout: "600000", | ||
}, | ||
}, | ||
}); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
{ | ||
"name": "@azure/functions-authentication-events", | ||
"version": "1.0.0-beta.1", | ||
"description": "Typescript Trigger SDK for Azure AD Authentication event custom extensions. Lets you focus on your business logic.", | ||
"sdk-type": "client", | ||
"main": "dist/index.js", | ||
"module": "dist-esm/src/index.js", | ||
"types": "types/latest/functions-authentication-events.d.ts", | ||
"scripts": { | ||
"audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", | ||
"build:samples": "echo Obsolete", | ||
"build:test": "npm run clean && tsc -p . && dev-tool run bundle", | ||
"build:types": "downlevel-dts types/latest/ types/3.1/", | ||
"build": "npm run build:test && api-extractor run --local && npm run build:types", | ||
"check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"", | ||
"clean": "rimraf dist dist-* temp types *.tgz *.log", | ||
"execute:samples": "dev-tool samples run samples-dev", | ||
"extract-api": "tsc -p . && api-extractor run --local", | ||
"format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"", | ||
"generate:client": "autorest --typescript ./swagger/README.md", | ||
"integration-test:browser": "dev-tool run test:browser", | ||
"integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/**/*.spec.ts'", | ||
"integration-test": "npm run integration-test:node && npm run integration-test:browser", | ||
"lint:fix": "eslint README.md package.json api-extractor.json src test --ext .ts,.javascript,.js --fix --fix-type [problem,suggestion]", | ||
"lint": "eslint README.md package.json api-extractor.json src test --ext .ts,.javascript,.js", | ||
"pack": "npm pack 2>&1", | ||
"test:browser": "npm run clean && npm run build:test && npm run integration-test:browser", | ||
"test:node": "npm run clean && tsc -p . && npm run integration-test:node", | ||
"test": "npm run clean && tsc -p . && npm run unit-test:node && dev-tool run bundle && npm run unit-test:browser && npm run integration-test", | ||
"unit-test:browser": "npm run integration-test:browser", | ||
"unit-test:node": "npm run integration-test:node", | ||
"unit-test": "npm run unit-test:node && npm run unit-test:browser" | ||
}, | ||
"files": [ | ||
"dist/", | ||
"dist-esm/src/", | ||
"types/latest/", | ||
"types/3.1/", | ||
"README.md", | ||
"LICENSE" | ||
], | ||
"repository": "github:Azure/azure-sdk-for-js", | ||
"engines": { | ||
"node": ">=12.0.0" | ||
}, | ||
"keywords": [ | ||
"azure", | ||
"cloud", | ||
"typescript" | ||
], | ||
"author": "Microsoft Corporation", | ||
"license": "MIT", | ||
"bugs": { | ||
"url": "https://github.com/Azure/azure-sdk-for-js/issues" | ||
}, | ||
"homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/entra/azure-functions-authentication-events/README.md", | ||
"sideEffects": false, | ||
"prettier": "@azure/eslint-plugin-azure-sdk/prettier.json", | ||
"dependencies": { | ||
"@azure/core-auth": "^1.3.0", | ||
"@azure/core-client": "^1.4.0", | ||
"@azure/core-rest-pipeline": "^1.4.0", | ||
"@azure/core-tracing": "^1.0.0", | ||
"@azure/logger": "^1.0.0", | ||
"tslib": "^2.2.0" | ||
}, | ||
"devDependencies": { | ||
"@azure/dev-tool": "^1.0.0", | ||
"@azure/eslint-plugin-azure-sdk": "^3.0.0", | ||
"@azure/identity": "^2.0.1", | ||
"@azure/test-utils": "^1.0.0", | ||
"@azure-tools/test-credential": "~1.0.0", | ||
"@azure-tools/test-recorder": "^2.0.0", | ||
"@microsoft/api-extractor": "7.18.11", | ||
"@types/chai": "^4.1.6", | ||
"@types/mocha": "^7.0.2", | ||
"@types/node": "^12.0.0", | ||
"chai": "^4.2.0", | ||
"cross-env": "^7.0.2", | ||
"dotenv": "^8.2.0", | ||
"downlevel-dts": "^0.8.0", | ||
"eslint": "^8.0.0", | ||
"esm": "^3.2.18", | ||
"inherits": "^2.0.3", | ||
"karma": "^6.2.0", | ||
"karma-chrome-launcher": "^3.0.0", | ||
"karma-coverage": "^2.0.0", | ||
"karma-edge-launcher": "^0.4.2", | ||
"karma-env-preprocessor": "^0.1.1", | ||
"karma-firefox-launcher": "^1.1.0", | ||
"karma-ie-launcher": "^1.0.0", | ||
"karma-json-preprocessor": "^0.3.3", | ||
"karma-json-to-file-reporter": "^1.0.1", | ||
"karma-junit-reporter": "^2.0.1", | ||
"karma-mocha": "^2.0.1", | ||
"karma-mocha-reporter": "^2.2.5", | ||
"mocha": "^7.1.1", | ||
"mocha-junit-reporter": "^2.0.0", | ||
"nyc": "^15.0.0", | ||
"prettier": "^2.5.1", | ||
"rimraf": "^3.0.0", | ||
"source-map-support": "^0.5.9", | ||
"typescript": "~4.6.0", | ||
"util": "^0.12.1", | ||
"@azure/functions": "^3.2.0" | ||
}, | ||
"//sampleConfiguration": { | ||
"skipFolder": false, | ||
"disableDocsMs": true, | ||
"productName": "Azure Template", | ||
"productSlugs": [], | ||
"apiRefLink": "https://docs.microsoft.com/javascript/api/", | ||
"requiredResources": { | ||
"Azure App Configuration": "https://docs.microsoft.com/azure/azure-app-configuration/" | ||
} | ||
} | ||
} |
Oops, something went wrong.