@fluid-internal/test-driver-definitions 2.0.0-dev-rc.3.0.0.253463
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +21 -0
- package/CHANGELOG.md +155 -0
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/api-extractor-lint.json +4 -0
- package/api-extractor.json +8 -0
- package/api-report/test-driver-definitions.api.md +45 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/interfaces.d.ts +108 -0
- package/dist/interfaces.d.ts.map +1 -0
- package/dist/package.json +3 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/interfaces.d.ts +108 -0
- package/lib/interfaces.d.ts.map +1 -0
- package/lib/tsdoc-metadata.json +11 -0
- package/package.json +70 -0
- package/prettier.config.cjs +8 -0
- package/src/index.ts +22 -0
- package/src/interfaces.ts +126 -0
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +9 -0
package/.eslintrc.cjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
extends: [require.resolve("@fluidframework/eslint-config-fluid"), "prettier"],
|
|
8
|
+
parserOptions: {
|
|
9
|
+
project: ["./tsconfig.json"],
|
|
10
|
+
},
|
|
11
|
+
overrides: [
|
|
12
|
+
{
|
|
13
|
+
// Rules only for test files
|
|
14
|
+
files: ["*.spec.ts", "src/test/**"],
|
|
15
|
+
rules: {
|
|
16
|
+
// This rule causes linting to crash with a "Error: Circularity detected while resolving configuration: /common/build/build-common/tsconfig.base.json"
|
|
17
|
+
"import/namespace": "off",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
};
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# @fluid-internal/test-driver-definitions
|
|
2
|
+
|
|
3
|
+
## 2.0.0-rc.2.0.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
7
|
+
## 2.0.0-rc.1.0.0
|
|
8
|
+
|
|
9
|
+
### Minor Changes
|
|
10
|
+
|
|
11
|
+
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
12
|
+
|
|
13
|
+
The following Fluid server dependencies have been updated to the latest version, 3.0.0. [See the full changelog.](https://github.com/microsoft/FluidFramework/releases/tag/server_v3.0.0)
|
|
14
|
+
|
|
15
|
+
- @fluidframework/gitresources
|
|
16
|
+
- @fluidframework/server-kafka-orderer
|
|
17
|
+
- @fluidframework/server-lambdas
|
|
18
|
+
- @fluidframework/server-lambdas-driver
|
|
19
|
+
- @fluidframework/server-local-server
|
|
20
|
+
- @fluidframework/server-memory-orderer
|
|
21
|
+
- @fluidframework/protocol-base
|
|
22
|
+
- @fluidframework/server-routerlicious
|
|
23
|
+
- @fluidframework/server-routerlicious-base
|
|
24
|
+
- @fluidframework/server-services
|
|
25
|
+
- @fluidframework/server-services-client
|
|
26
|
+
- @fluidframework/server-services-core
|
|
27
|
+
- @fluidframework/server-services-ordering-kafkanode
|
|
28
|
+
- @fluidframework/server-services-ordering-rdkafka
|
|
29
|
+
- @fluidframework/server-services-ordering-zookeeper
|
|
30
|
+
- @fluidframework/server-services-shared
|
|
31
|
+
- @fluidframework/server-services-telemetry
|
|
32
|
+
- @fluidframework/server-services-utils
|
|
33
|
+
- @fluidframework/server-test-utils
|
|
34
|
+
- tinylicious
|
|
35
|
+
|
|
36
|
+
- Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
37
|
+
|
|
38
|
+
The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
|
|
39
|
+
changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
|
|
40
|
+
|
|
41
|
+
## 2.0.0-internal.8.0.0
|
|
42
|
+
|
|
43
|
+
Dependency updates only.
|
|
44
|
+
|
|
45
|
+
## 2.0.0-internal.7.4.0
|
|
46
|
+
|
|
47
|
+
Dependency updates only.
|
|
48
|
+
|
|
49
|
+
## 2.0.0-internal.7.3.0
|
|
50
|
+
|
|
51
|
+
Dependency updates only.
|
|
52
|
+
|
|
53
|
+
## 2.0.0-internal.7.2.0
|
|
54
|
+
|
|
55
|
+
Dependency updates only.
|
|
56
|
+
|
|
57
|
+
## 2.0.0-internal.7.1.0
|
|
58
|
+
|
|
59
|
+
Dependency updates only.
|
|
60
|
+
|
|
61
|
+
## 2.0.0-internal.7.0.0
|
|
62
|
+
|
|
63
|
+
### Major Changes
|
|
64
|
+
|
|
65
|
+
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
66
|
+
|
|
67
|
+
This included the following changes from the protocol-definitions release:
|
|
68
|
+
|
|
69
|
+
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
70
|
+
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
71
|
+
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
72
|
+
been added, which will be the typing for signals sent from the client to the server. Both extend a new
|
|
73
|
+
ISignalMessageBase interface that contains common members.
|
|
74
|
+
- The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
|
|
75
|
+
|
|
76
|
+
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
77
|
+
|
|
78
|
+
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
79
|
+
|
|
80
|
+
- @fluidframework/gitresources: 2.0.1
|
|
81
|
+
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
82
|
+
- @fluidframework/server-lambdas: 2.0.1
|
|
83
|
+
- @fluidframework/server-lambdas-driver: 2.0.1
|
|
84
|
+
- @fluidframework/server-local-server: 2.0.1
|
|
85
|
+
- @fluidframework/server-memory-orderer: 2.0.1
|
|
86
|
+
- @fluidframework/protocol-base: 2.0.1
|
|
87
|
+
- @fluidframework/server-routerlicious: 2.0.1
|
|
88
|
+
- @fluidframework/server-routerlicious-base: 2.0.1
|
|
89
|
+
- @fluidframework/server-services: 2.0.1
|
|
90
|
+
- @fluidframework/server-services-client: 2.0.1
|
|
91
|
+
- @fluidframework/server-services-core: 2.0.1
|
|
92
|
+
- @fluidframework/server-services-ordering-kafkanode: 2.0.1
|
|
93
|
+
- @fluidframework/server-services-ordering-rdkafka: 2.0.1
|
|
94
|
+
- @fluidframework/server-services-ordering-zookeeper: 2.0.1
|
|
95
|
+
- @fluidframework/server-services-shared: 2.0.1
|
|
96
|
+
- @fluidframework/server-services-telemetry: 2.0.1
|
|
97
|
+
- @fluidframework/server-services-utils: 2.0.1
|
|
98
|
+
- @fluidframework/server-test-utils: 2.0.1
|
|
99
|
+
- tinylicious: 2.0.1
|
|
100
|
+
|
|
101
|
+
- Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
102
|
+
|
|
103
|
+
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
|
|
104
|
+
|
|
105
|
+
## 2.0.0-internal.6.4.0
|
|
106
|
+
|
|
107
|
+
Dependency updates only.
|
|
108
|
+
|
|
109
|
+
## 2.0.0-internal.6.3.0
|
|
110
|
+
|
|
111
|
+
Dependency updates only.
|
|
112
|
+
|
|
113
|
+
## 2.0.0-internal.6.2.0
|
|
114
|
+
|
|
115
|
+
Dependency updates only.
|
|
116
|
+
|
|
117
|
+
## 2.0.0-internal.6.1.0
|
|
118
|
+
|
|
119
|
+
Dependency updates only.
|
|
120
|
+
|
|
121
|
+
## 2.0.0-internal.6.0.0
|
|
122
|
+
|
|
123
|
+
### Major Changes
|
|
124
|
+
|
|
125
|
+
- Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
126
|
+
|
|
127
|
+
Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
|
|
128
|
+
|
|
129
|
+
## 2.0.0-internal.5.4.0
|
|
130
|
+
|
|
131
|
+
Dependency updates only.
|
|
132
|
+
|
|
133
|
+
## 2.0.0-internal.5.3.0
|
|
134
|
+
|
|
135
|
+
Dependency updates only.
|
|
136
|
+
|
|
137
|
+
## 2.0.0-internal.5.2.0
|
|
138
|
+
|
|
139
|
+
Dependency updates only.
|
|
140
|
+
|
|
141
|
+
## 2.0.0-internal.5.1.0
|
|
142
|
+
|
|
143
|
+
Dependency updates only.
|
|
144
|
+
|
|
145
|
+
## 2.0.0-internal.5.0.0
|
|
146
|
+
|
|
147
|
+
Dependency updates only.
|
|
148
|
+
|
|
149
|
+
## 2.0.0-internal.4.4.0
|
|
150
|
+
|
|
151
|
+
Dependency updates only.
|
|
152
|
+
|
|
153
|
+
## 2.0.0-internal.4.1.0
|
|
154
|
+
|
|
155
|
+
Dependency updates only.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
2
|
+
|
|
3
|
+
MIT License
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# @fluid-internal/test-driver-definitions
|
|
2
|
+
|
|
3
|
+
Definitions for test drivers. Test should only take a dependency on these definitions, and not the implementations provided in the `@fluid-private/test-drivers` package. At runtime the environment should provide an implementation for the global getFluidTestDriver driver function, which tests can then use to access the implementation.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
+
"extends": "../../../common/build/build-common/api-extractor-base.esm.primary.json",
|
|
4
|
+
"dtsRollup": {
|
|
5
|
+
// all APIs are internal - no rollup needed/used
|
|
6
|
+
"enabled": false
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
## API Report File for "@fluid-internal/test-driver-definitions"
|
|
2
|
+
|
|
3
|
+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
|
|
7
|
+
import type { IDocumentServiceFactory } from '@fluidframework/driver-definitions/internal';
|
|
8
|
+
import type { IRequest } from '@fluidframework/core-interfaces';
|
|
9
|
+
import type { IResolvedUrl } from '@fluidframework/driver-definitions/internal';
|
|
10
|
+
import type { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
11
|
+
import type { IUrlResolver } from '@fluidframework/driver-definitions/internal';
|
|
12
|
+
|
|
13
|
+
// @internal
|
|
14
|
+
export type DriverEndpoint = RouterliciousEndpoint | OdspEndpoint;
|
|
15
|
+
|
|
16
|
+
// @internal
|
|
17
|
+
export interface ITelemetryBufferedLogger extends ITelemetryBaseLogger {
|
|
18
|
+
flush(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// @internal
|
|
22
|
+
export interface ITestDriver {
|
|
23
|
+
createContainerUrl(testId: string, containerUrl?: IResolvedUrl): Promise<string>;
|
|
24
|
+
createCreateNewRequest(testId?: string): IRequest;
|
|
25
|
+
createDocumentServiceFactory(): IDocumentServiceFactory;
|
|
26
|
+
createUrlResolver(): IUrlResolver;
|
|
27
|
+
readonly endpointName?: string;
|
|
28
|
+
readonly tenantName?: string;
|
|
29
|
+
readonly type: TestDriverTypes;
|
|
30
|
+
readonly userIndex?: number;
|
|
31
|
+
readonly version: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// @internal
|
|
35
|
+
export type OdspEndpoint = "odsp" | "odsp-df";
|
|
36
|
+
|
|
37
|
+
// @internal
|
|
38
|
+
export type RouterliciousEndpoint = "frs" | "frsCanary" | "r11s" | "docker";
|
|
39
|
+
|
|
40
|
+
// @internal
|
|
41
|
+
export type TestDriverTypes = "tinylicious" | "t9s" | "routerlicious" | "r11s" | "odsp" | "local";
|
|
42
|
+
|
|
43
|
+
// (No @packageDocumentation comment for this package)
|
|
44
|
+
|
|
45
|
+
```
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import type { ITelemetryBufferedLogger } from "./interfaces.js";
|
|
6
|
+
declare global {
|
|
7
|
+
/**
|
|
8
|
+
* This function may be provided by the environment, like a mocha test hook or dynamic import
|
|
9
|
+
*/
|
|
10
|
+
export const getTestLogger: (() => ITelemetryBufferedLogger) | undefined;
|
|
11
|
+
}
|
|
12
|
+
export type { DriverEndpoint, ITelemetryBufferedLogger, ITestDriver, OdspEndpoint, RouterliciousEndpoint, TestDriverTypes, } from "./interfaces.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,CAAC,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,MAAM,aAAa,EAAE,CAAC,MAAM,wBAAwB,CAAC,GAAG,SAAS,CAAC;CACzE;AAED,YAAY,EACX,cAAc,EACd,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,eAAe,GACf,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import type { IRequest, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
6
|
+
import type { IDocumentServiceFactory, IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions/internal";
|
|
7
|
+
/**
|
|
8
|
+
* Types of test drivers.
|
|
9
|
+
* These values are replicated in {@link @fluid-private/test-version-utils#compatOptions.d.ts}. Ensure that any revisions here are also reflected in test-version-utils.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export type TestDriverTypes = "tinylicious" | "t9s" | "routerlicious" | "r11s" | "odsp" | "local";
|
|
13
|
+
/**
|
|
14
|
+
* Types of Routerlicious endpoints.
|
|
15
|
+
* These values are replicated in {@link @fluid-private/test-version-utils#compatOptions.d.ts}. Ensure that any revisions here are also reflected in test-version-utils.
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export type RouterliciousEndpoint = "frs" | "frsCanary" | "r11s" | "docker";
|
|
19
|
+
/**
|
|
20
|
+
* Types of Odsp endpoints.
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export type OdspEndpoint = "odsp" | "odsp-df";
|
|
24
|
+
/**
|
|
25
|
+
* Types of Driver endpoints.
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export type DriverEndpoint = RouterliciousEndpoint | OdspEndpoint;
|
|
29
|
+
/**
|
|
30
|
+
* Base interface for test drivers.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export interface ITestDriver {
|
|
34
|
+
/**
|
|
35
|
+
* The type of server the test driver executes against
|
|
36
|
+
*/
|
|
37
|
+
readonly type: TestDriverTypes;
|
|
38
|
+
/**
|
|
39
|
+
* Specific endpoint name if there are any
|
|
40
|
+
*/
|
|
41
|
+
readonly endpointName?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Tenant name if there are any
|
|
44
|
+
*/
|
|
45
|
+
readonly tenantName?: string;
|
|
46
|
+
/**
|
|
47
|
+
* User index if there are any
|
|
48
|
+
*/
|
|
49
|
+
readonly userIndex?: number;
|
|
50
|
+
/**
|
|
51
|
+
* The semantic version of the test drivers package.
|
|
52
|
+
* In general this version will match that of the client
|
|
53
|
+
* interfaces and implementation exposed and used by the test driver.
|
|
54
|
+
*/
|
|
55
|
+
readonly version: string;
|
|
56
|
+
/**
|
|
57
|
+
* Creates a document service factory targetting the server that corresponds to this driver.
|
|
58
|
+
*/
|
|
59
|
+
createDocumentServiceFactory(): IDocumentServiceFactory;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a url resolver targetting the server that corresponds to this driver.
|
|
62
|
+
*/
|
|
63
|
+
createUrlResolver(): IUrlResolver;
|
|
64
|
+
/**
|
|
65
|
+
* Creates a 'create new' request appropriate for the server that corresponds to this driver.
|
|
66
|
+
*
|
|
67
|
+
* @remarks
|
|
68
|
+
* Repeated calls with the same test id will return the same request.
|
|
69
|
+
* The test id may not map directly to any specific Fluid Framework concept.
|
|
70
|
+
* If you need more control you should disambiguate the driver based on its
|
|
71
|
+
* type; this should only be done it absolutely necessary for complex scenarios
|
|
72
|
+
* as the test may not work against all supported servers if done.
|
|
73
|
+
*
|
|
74
|
+
* @param testId - If passed in, implementations should use it in the generated request, which should
|
|
75
|
+
* also be consistent every time for a given value of this parameter.
|
|
76
|
+
*/
|
|
77
|
+
createCreateNewRequest(testId?: string): IRequest;
|
|
78
|
+
/**
|
|
79
|
+
* Creates a container url that can be resolved by the url resolver for this driver.
|
|
80
|
+
*
|
|
81
|
+
* @remarks
|
|
82
|
+
* Repeated calls with the same test id will return the same container url.
|
|
83
|
+
* The test id may not map directly to any specific Fluid Framework concept.
|
|
84
|
+
* If you need more control you should disambiguate the driver based on its
|
|
85
|
+
* type; this should only be done if absolutely necessary for complex scenarios
|
|
86
|
+
* as the test may not work against all supported servers if done.
|
|
87
|
+
*
|
|
88
|
+
* @param testId - If passed in, implementations should use it in generated url, which should
|
|
89
|
+
* also be consistent every time for a given value of this parameter.
|
|
90
|
+
* @param containerUrl - Implementations can use this to help disambiguate the container.
|
|
91
|
+
* E.g. if passed a value from a container created earlier, the driver can us it as a hint
|
|
92
|
+
* when resolving the container URL.
|
|
93
|
+
*/
|
|
94
|
+
createContainerUrl(testId: string, containerUrl?: IResolvedUrl): Promise<string>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Extension of ITelemetryBaseLogger with support for flushing
|
|
98
|
+
* all buffered logs that have not yet been fully processed (e.g. uploaded)
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
export interface ITelemetryBufferedLogger extends ITelemetryBaseLogger {
|
|
102
|
+
/**
|
|
103
|
+
* Flush any underlying buffer of events that have been sent so far
|
|
104
|
+
* but not yet fully processed - e.g. uploaded to a log ingestion service.
|
|
105
|
+
*/
|
|
106
|
+
flush(): Promise<void>;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EACX,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,MAAM,6CAA6C,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,KAAK,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAElG;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5E;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,YAAY,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,4BAA4B,IAAI,uBAAuB,CAAC;IAExD;;OAEG;IACH,iBAAiB,IAAI,YAAY,CAAC;IAElC;;;;;;;;;;;;OAYG;IACH,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAElD;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjF;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACrE;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import type { ITelemetryBufferedLogger } from "./interfaces.js";
|
|
6
|
+
declare global {
|
|
7
|
+
/**
|
|
8
|
+
* This function may be provided by the environment, like a mocha test hook or dynamic import
|
|
9
|
+
*/
|
|
10
|
+
export const getTestLogger: (() => ITelemetryBufferedLogger) | undefined;
|
|
11
|
+
}
|
|
12
|
+
export type { DriverEndpoint, ITelemetryBufferedLogger, ITestDriver, OdspEndpoint, RouterliciousEndpoint, TestDriverTypes, } from "./interfaces.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,CAAC,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,MAAM,aAAa,EAAE,CAAC,MAAM,wBAAwB,CAAC,GAAG,SAAS,CAAC;CACzE;AAED,YAAY,EACX,cAAc,EACd,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,eAAe,GACf,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import type { IRequest, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
6
|
+
import type { IDocumentServiceFactory, IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions/internal";
|
|
7
|
+
/**
|
|
8
|
+
* Types of test drivers.
|
|
9
|
+
* These values are replicated in {@link @fluid-private/test-version-utils#compatOptions.d.ts}. Ensure that any revisions here are also reflected in test-version-utils.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export type TestDriverTypes = "tinylicious" | "t9s" | "routerlicious" | "r11s" | "odsp" | "local";
|
|
13
|
+
/**
|
|
14
|
+
* Types of Routerlicious endpoints.
|
|
15
|
+
* These values are replicated in {@link @fluid-private/test-version-utils#compatOptions.d.ts}. Ensure that any revisions here are also reflected in test-version-utils.
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export type RouterliciousEndpoint = "frs" | "frsCanary" | "r11s" | "docker";
|
|
19
|
+
/**
|
|
20
|
+
* Types of Odsp endpoints.
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export type OdspEndpoint = "odsp" | "odsp-df";
|
|
24
|
+
/**
|
|
25
|
+
* Types of Driver endpoints.
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export type DriverEndpoint = RouterliciousEndpoint | OdspEndpoint;
|
|
29
|
+
/**
|
|
30
|
+
* Base interface for test drivers.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export interface ITestDriver {
|
|
34
|
+
/**
|
|
35
|
+
* The type of server the test driver executes against
|
|
36
|
+
*/
|
|
37
|
+
readonly type: TestDriverTypes;
|
|
38
|
+
/**
|
|
39
|
+
* Specific endpoint name if there are any
|
|
40
|
+
*/
|
|
41
|
+
readonly endpointName?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Tenant name if there are any
|
|
44
|
+
*/
|
|
45
|
+
readonly tenantName?: string;
|
|
46
|
+
/**
|
|
47
|
+
* User index if there are any
|
|
48
|
+
*/
|
|
49
|
+
readonly userIndex?: number;
|
|
50
|
+
/**
|
|
51
|
+
* The semantic version of the test drivers package.
|
|
52
|
+
* In general this version will match that of the client
|
|
53
|
+
* interfaces and implementation exposed and used by the test driver.
|
|
54
|
+
*/
|
|
55
|
+
readonly version: string;
|
|
56
|
+
/**
|
|
57
|
+
* Creates a document service factory targetting the server that corresponds to this driver.
|
|
58
|
+
*/
|
|
59
|
+
createDocumentServiceFactory(): IDocumentServiceFactory;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a url resolver targetting the server that corresponds to this driver.
|
|
62
|
+
*/
|
|
63
|
+
createUrlResolver(): IUrlResolver;
|
|
64
|
+
/**
|
|
65
|
+
* Creates a 'create new' request appropriate for the server that corresponds to this driver.
|
|
66
|
+
*
|
|
67
|
+
* @remarks
|
|
68
|
+
* Repeated calls with the same test id will return the same request.
|
|
69
|
+
* The test id may not map directly to any specific Fluid Framework concept.
|
|
70
|
+
* If you need more control you should disambiguate the driver based on its
|
|
71
|
+
* type; this should only be done it absolutely necessary for complex scenarios
|
|
72
|
+
* as the test may not work against all supported servers if done.
|
|
73
|
+
*
|
|
74
|
+
* @param testId - If passed in, implementations should use it in the generated request, which should
|
|
75
|
+
* also be consistent every time for a given value of this parameter.
|
|
76
|
+
*/
|
|
77
|
+
createCreateNewRequest(testId?: string): IRequest;
|
|
78
|
+
/**
|
|
79
|
+
* Creates a container url that can be resolved by the url resolver for this driver.
|
|
80
|
+
*
|
|
81
|
+
* @remarks
|
|
82
|
+
* Repeated calls with the same test id will return the same container url.
|
|
83
|
+
* The test id may not map directly to any specific Fluid Framework concept.
|
|
84
|
+
* If you need more control you should disambiguate the driver based on its
|
|
85
|
+
* type; this should only be done if absolutely necessary for complex scenarios
|
|
86
|
+
* as the test may not work against all supported servers if done.
|
|
87
|
+
*
|
|
88
|
+
* @param testId - If passed in, implementations should use it in generated url, which should
|
|
89
|
+
* also be consistent every time for a given value of this parameter.
|
|
90
|
+
* @param containerUrl - Implementations can use this to help disambiguate the container.
|
|
91
|
+
* E.g. if passed a value from a container created earlier, the driver can us it as a hint
|
|
92
|
+
* when resolving the container URL.
|
|
93
|
+
*/
|
|
94
|
+
createContainerUrl(testId: string, containerUrl?: IResolvedUrl): Promise<string>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Extension of ITelemetryBaseLogger with support for flushing
|
|
98
|
+
* all buffered logs that have not yet been fully processed (e.g. uploaded)
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
export interface ITelemetryBufferedLogger extends ITelemetryBaseLogger {
|
|
102
|
+
/**
|
|
103
|
+
* Flush any underlying buffer of events that have been sent so far
|
|
104
|
+
* but not yet fully processed - e.g. uploaded to a log ingestion service.
|
|
105
|
+
*/
|
|
106
|
+
flush(): Promise<void>;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EACX,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,MAAM,6CAA6C,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,KAAK,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAElG;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5E;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,YAAY,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,4BAA4B,IAAI,uBAAuB,CAAC;IAExD;;OAEG;IACH,iBAAiB,IAAI,YAAY,CAAC;IAElC;;;;;;;;;;;;OAYG;IACH,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAElD;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjF;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACrE;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// This file is read by tools that parse documentation comments conforming to the TSDoc standard.
|
|
2
|
+
// It should be published with your NPM package. It should not be tracked by Git.
|
|
3
|
+
{
|
|
4
|
+
"tsdocVersion": "0.12",
|
|
5
|
+
"toolPackages": [
|
|
6
|
+
{
|
|
7
|
+
"packageName": "@microsoft/api-extractor",
|
|
8
|
+
"packageVersion": "7.42.3"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@fluid-internal/test-driver-definitions",
|
|
3
|
+
"version": "2.0.0-dev-rc.3.0.0.253463",
|
|
4
|
+
"description": "A driver abstraction and implementations for testing against server",
|
|
5
|
+
"homepage": "https://fluidframework.com",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/microsoft/FluidFramework.git",
|
|
9
|
+
"directory": "packages/test/test-driver-definitions"
|
|
10
|
+
},
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"author": "Microsoft and contributors",
|
|
13
|
+
"sideEffects": false,
|
|
14
|
+
"type": "module",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"import": {
|
|
18
|
+
"types": "./lib/index.d.ts"
|
|
19
|
+
},
|
|
20
|
+
"require": {
|
|
21
|
+
"types": "./dist/index.d.ts"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"main": "",
|
|
26
|
+
"types": "dist/index.d.ts",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@fluidframework/core-interfaces": "2.0.0-dev-rc.3.0.0.253463",
|
|
29
|
+
"@fluidframework/driver-definitions": "2.0.0-dev-rc.3.0.0.253463",
|
|
30
|
+
"@fluidframework/protocol-definitions": "^3.2.0"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@arethetypeswrong/cli": "^0.15.2",
|
|
34
|
+
"@biomejs/biome": "^1.6.2",
|
|
35
|
+
"@fluid-tools/build-cli": "^0.34.0",
|
|
36
|
+
"@fluidframework/build-common": "^2.0.3",
|
|
37
|
+
"@fluidframework/build-tools": "^0.34.0",
|
|
38
|
+
"@fluidframework/eslint-config-fluid": "^5.1.0",
|
|
39
|
+
"@microsoft/api-extractor": "^7.42.3",
|
|
40
|
+
"copyfiles": "^2.4.1",
|
|
41
|
+
"eslint": "~8.55.0",
|
|
42
|
+
"prettier": "~3.0.3",
|
|
43
|
+
"rimraf": "^4.4.0",
|
|
44
|
+
"typescript": "~5.1.6"
|
|
45
|
+
},
|
|
46
|
+
"typeValidation": {
|
|
47
|
+
"disabled": true,
|
|
48
|
+
"broken": {}
|
|
49
|
+
},
|
|
50
|
+
"scripts": {
|
|
51
|
+
"build": "fluid-build . --task build",
|
|
52
|
+
"build:commonjs": "fluid-build . --task commonjs",
|
|
53
|
+
"build:compile": "fluid-build . --task compile",
|
|
54
|
+
"build:compile:min": "npm run build:compile",
|
|
55
|
+
"build:docs": "api-extractor run --local",
|
|
56
|
+
"build:esnext": "tsc --project ./tsconfig.json",
|
|
57
|
+
"check:are-the-types-wrong": "attw --pack . --entrypoints .",
|
|
58
|
+
"check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
|
|
59
|
+
"check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
|
|
60
|
+
"ci:build:docs": "api-extractor run",
|
|
61
|
+
"clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp",
|
|
62
|
+
"eslint": "eslint --format stylish src",
|
|
63
|
+
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
|
|
64
|
+
"format": "fluid-build --task format .",
|
|
65
|
+
"format:prettier": "prettier --write . --cache --ignore-path ../../../.prettierignore",
|
|
66
|
+
"lint": "fluid-build . --task lint",
|
|
67
|
+
"lint:fix": "fluid-build . --task eslint:fix --task format",
|
|
68
|
+
"tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist"
|
|
69
|
+
}
|
|
70
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { ITelemetryBufferedLogger } from "./interfaces.js";
|
|
7
|
+
|
|
8
|
+
declare global {
|
|
9
|
+
/**
|
|
10
|
+
* This function may be provided by the environment, like a mocha test hook or dynamic import
|
|
11
|
+
*/
|
|
12
|
+
export const getTestLogger: (() => ITelemetryBufferedLogger) | undefined;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type {
|
|
16
|
+
DriverEndpoint,
|
|
17
|
+
ITelemetryBufferedLogger,
|
|
18
|
+
ITestDriver,
|
|
19
|
+
OdspEndpoint,
|
|
20
|
+
RouterliciousEndpoint,
|
|
21
|
+
TestDriverTypes,
|
|
22
|
+
} from "./interfaces.js";
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { IRequest, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
7
|
+
import type {
|
|
8
|
+
IDocumentServiceFactory,
|
|
9
|
+
IResolvedUrl,
|
|
10
|
+
IUrlResolver,
|
|
11
|
+
} from "@fluidframework/driver-definitions/internal";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Types of test drivers.
|
|
15
|
+
* These values are replicated in {@link @fluid-private/test-version-utils#compatOptions.d.ts}. Ensure that any revisions here are also reflected in test-version-utils.
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export type TestDriverTypes = "tinylicious" | "t9s" | "routerlicious" | "r11s" | "odsp" | "local";
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Types of Routerlicious endpoints.
|
|
22
|
+
* These values are replicated in {@link @fluid-private/test-version-utils#compatOptions.d.ts}. Ensure that any revisions here are also reflected in test-version-utils.
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export type RouterliciousEndpoint = "frs" | "frsCanary" | "r11s" | "docker";
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Types of Odsp endpoints.
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export type OdspEndpoint = "odsp" | "odsp-df";
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Types of Driver endpoints.
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export type DriverEndpoint = RouterliciousEndpoint | OdspEndpoint;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Base interface for test drivers.
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export interface ITestDriver {
|
|
44
|
+
/**
|
|
45
|
+
* The type of server the test driver executes against
|
|
46
|
+
*/
|
|
47
|
+
readonly type: TestDriverTypes;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Specific endpoint name if there are any
|
|
51
|
+
*/
|
|
52
|
+
readonly endpointName?: string;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Tenant name if there are any
|
|
56
|
+
*/
|
|
57
|
+
readonly tenantName?: string;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* User index if there are any
|
|
61
|
+
*/
|
|
62
|
+
readonly userIndex?: number;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The semantic version of the test drivers package.
|
|
66
|
+
* In general this version will match that of the client
|
|
67
|
+
* interfaces and implementation exposed and used by the test driver.
|
|
68
|
+
*/
|
|
69
|
+
readonly version: string;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Creates a document service factory targetting the server that corresponds to this driver.
|
|
73
|
+
*/
|
|
74
|
+
createDocumentServiceFactory(): IDocumentServiceFactory;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Creates a url resolver targetting the server that corresponds to this driver.
|
|
78
|
+
*/
|
|
79
|
+
createUrlResolver(): IUrlResolver;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Creates a 'create new' request appropriate for the server that corresponds to this driver.
|
|
83
|
+
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* Repeated calls with the same test id will return the same request.
|
|
86
|
+
* The test id may not map directly to any specific Fluid Framework concept.
|
|
87
|
+
* If you need more control you should disambiguate the driver based on its
|
|
88
|
+
* type; this should only be done it absolutely necessary for complex scenarios
|
|
89
|
+
* as the test may not work against all supported servers if done.
|
|
90
|
+
*
|
|
91
|
+
* @param testId - If passed in, implementations should use it in the generated request, which should
|
|
92
|
+
* also be consistent every time for a given value of this parameter.
|
|
93
|
+
*/
|
|
94
|
+
createCreateNewRequest(testId?: string): IRequest;
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Creates a container url that can be resolved by the url resolver for this driver.
|
|
98
|
+
*
|
|
99
|
+
* @remarks
|
|
100
|
+
* Repeated calls with the same test id will return the same container url.
|
|
101
|
+
* The test id may not map directly to any specific Fluid Framework concept.
|
|
102
|
+
* If you need more control you should disambiguate the driver based on its
|
|
103
|
+
* type; this should only be done if absolutely necessary for complex scenarios
|
|
104
|
+
* as the test may not work against all supported servers if done.
|
|
105
|
+
*
|
|
106
|
+
* @param testId - If passed in, implementations should use it in generated url, which should
|
|
107
|
+
* also be consistent every time for a given value of this parameter.
|
|
108
|
+
* @param containerUrl - Implementations can use this to help disambiguate the container.
|
|
109
|
+
* E.g. if passed a value from a container created earlier, the driver can us it as a hint
|
|
110
|
+
* when resolving the container URL.
|
|
111
|
+
*/
|
|
112
|
+
createContainerUrl(testId: string, containerUrl?: IResolvedUrl): Promise<string>;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Extension of ITelemetryBaseLogger with support for flushing
|
|
117
|
+
* all buffered logs that have not yet been fully processed (e.g. uploaded)
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
120
|
+
export interface ITelemetryBufferedLogger extends ITelemetryBaseLogger {
|
|
121
|
+
/**
|
|
122
|
+
* Flush any underlying buffer of events that have been sent so far
|
|
123
|
+
* but not yet fully processed - e.g. uploaded to a log ingestion service.
|
|
124
|
+
*/
|
|
125
|
+
flush(): Promise<void>;
|
|
126
|
+
}
|