Skip to content

Commit

Permalink
Migrate endpoint annotation eventTrigger.eventFilters to list of filt…
Browse files Browse the repository at this point in the history
…ers (#1052)

Previously, `eventFilter` attribute was an object:

```
eventTrigger: {
  eventType: "an.event",
  eventFilter: {
    resource: "my-storage-bucket",
    appId: "12345",
  }
}
```

We now prefer eventFilter as a list:

```
eventTrigger: {
  eventType: "an.event",
  eventFilter: [
  {
    attribute: "resource",
    value: "my-storage-bucket",
  }.
  {
    attribute: "appId",
    value: "12345",
  }.
  ]
}
```

Most of the change in this PR is in tests. Few other minor changes I've squeezed in here:

1. Added a changelog entry for #1037
2. Deleted obsolete src/common/manifest.ts file
3. Small refactoring of alerts/crashlytics spec to make this migration easier.
  • Loading branch information
taeold committed Mar 7, 2022
1 parent c09761a commit f45e45f
Show file tree
Hide file tree
Showing 23 changed files with 475 additions and 594 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
@@ -0,0 +1 @@
- Add support for more regions and memory for v2 functions (#1037).
7 changes: 6 additions & 1 deletion spec/runtime/loader.spec.ts
Expand Up @@ -122,7 +122,12 @@ describe('extractStack', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'google.pubsub.topic.publish',
eventFilters: { resource: 'projects/my-project/topics/my-topic' },
eventFilters: [
{
attribute: 'resource',
value: 'projects/my-project/topics/my-topic',
},
],
retry: false,
},
labels: {},
Expand Down
36 changes: 24 additions & 12 deletions spec/v1/cloud-functions.spec.ts
Expand Up @@ -62,9 +62,12 @@ describe('makeCloudFunction', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'mock.provider.mock.event',
eventFilters: {
resource: 'resource',
},
eventFilters: [
{
attribute: 'resource',
value: 'resource',
},
],
retry: false,
},
labels: {},
Expand All @@ -86,9 +89,12 @@ describe('makeCloudFunction', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'providers/provider/eventTypes/event',
eventFilters: {
resource: 'resource',
},
eventFilters: [
{
attribute: 'resource',
value: 'resource',
},
],
retry: false,
},
labels: {},
Expand Down Expand Up @@ -119,9 +125,12 @@ describe('makeCloudFunction', () => {
serviceAccountEmail: 'foo@google.com',
eventTrigger: {
eventType: 'mock.provider.mock.event',
eventFilters: {
resource: 'resource',
},
eventFilters: [
{
attribute: 'resource',
value: 'resource',
},
],
retry: false,
},
secretEnvironmentVariables: [{ secret: 'MY_SECRET', key: 'MY_SECRET' }],
Expand All @@ -143,9 +152,12 @@ describe('makeCloudFunction', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'mock.provider.mock.event',
eventFilters: {
resource: 'resource',
},
eventFilters: [
{
attribute: 'resource',
value: 'resource',
},
],
retry: true,
},
labels: {},
Expand Down
9 changes: 6 additions & 3 deletions spec/v1/providers/analytics.spec.ts
Expand Up @@ -72,9 +72,12 @@ describe('Analytics Functions', () => {
expect(cloudFunction.__endpoint).to.deep.equal({
platform: 'gcfv1',
eventTrigger: {
eventFilters: {
resource: 'projects/project1/events/first_open',
},
eventFilters: [
{
attribute: 'resource',
value: 'projects/project1/events/first_open',
},
],
eventType:
'providers/google.firebase.analytics/eventTypes/event.log',
retry: false,
Expand Down
9 changes: 6 additions & 3 deletions spec/v1/providers/auth.spec.ts
Expand Up @@ -64,9 +64,12 @@ describe('Auth Functions', () => {
return {
platform: 'gcfv1',
eventTrigger: {
eventFilters: {
resource: `projects/${project}`,
},
eventFilters: [
{
attribute: 'resource',
value: `projects/${project}`,
},
],
eventType: `providers/firebase.auth/eventTypes/${eventType}`,
retry: false,
},
Expand Down
9 changes: 6 additions & 3 deletions spec/v1/providers/database.spec.ts
Expand Up @@ -45,9 +45,12 @@ describe('Database Functions', () => {
return {
platform: 'gcfv1',
eventTrigger: {
eventFilters: {
resource,
},
eventFilters: [
{
attribute: 'resource',
value: resource,
},
],
eventType: `providers/google.firebase.database/eventTypes/${eventType}`,
retry: false,
},
Expand Down
9 changes: 6 additions & 3 deletions spec/v1/providers/firestore.spec.ts
Expand Up @@ -107,9 +107,12 @@ describe('Firestore Functions', () => {
return {
platform: 'gcfv1',
eventTrigger: {
eventFilters: {
resource,
},
eventFilters: [
{
attribute: 'resource',
value: resource,
},
],
eventType: `providers/cloud.firestore/eventTypes/${eventType}`,
retry: false,
},
Expand Down
9 changes: 6 additions & 3 deletions spec/v1/providers/pubsub.spec.ts
Expand Up @@ -108,9 +108,12 @@ describe('Pubsub Functions', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'google.pubsub.topic.publish',
eventFilters: {
resource: 'projects/project1/topics/toppy',
},
eventFilters: [
{
attribute: 'resource',
value: 'projects/project1/topics/toppy',
},
],
retry: false,
},
labels: {},
Expand Down
9 changes: 6 additions & 3 deletions spec/v1/providers/remoteConfig.spec.ts
Expand Up @@ -68,9 +68,12 @@ describe('RemoteConfig Functions', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'google.firebase.remoteconfig.update',
eventFilters: {
resource: 'projects/project1',
},
eventFilters: [
{
attribute: 'resource',
value: 'projects/project1',
},
],
retry: false,
},
labels: {},
Expand Down
9 changes: 6 additions & 3 deletions spec/v1/providers/storage.spec.ts
Expand Up @@ -42,9 +42,12 @@ describe('Storage Functions', () => {
return {
platform: 'gcfv1',
eventTrigger: {
eventFilters: {
resource: `projects/_/buckets/${bucket}`,
},
eventFilters: [
{
attribute: 'resource',
value: `projects/_/buckets/${bucket}`,
},
],
eventType: `google.storage.object.${eventType}`,
retry: false,
},
Expand Down
9 changes: 6 additions & 3 deletions spec/v1/providers/testLab.spec.ts
Expand Up @@ -50,9 +50,12 @@ describe('Test Lab Functions', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'google.testing.testMatrix.complete',
eventFilters: {
resource: 'projects/project1/testMatrices/{matrix}',
},
eventFilters: [
{
attribute: 'resource',
value: 'projects/project1/testMatrices/{matrix}',
},
],
retry: false,
},
labels: {},
Expand Down
69 changes: 48 additions & 21 deletions spec/v2/providers/alerts/alerts.spec.ts
Expand Up @@ -16,9 +16,12 @@ describe('alerts', () => {
labels: {},
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
],
retry: false,
},
});
Expand All @@ -38,10 +41,16 @@ describe('alerts', () => {
...FULL_ENDPOINT,
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
appId: APPID,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
{
attribute: 'appid',
value: APPID,
},
],
retry: false,
},
});
Expand Down Expand Up @@ -72,9 +81,12 @@ describe('alerts', () => {
labels: {},
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
],
retry: false,
},
});
Expand All @@ -87,9 +99,12 @@ describe('alerts', () => {
...FULL_ENDPOINT,
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
],
retry: false,
},
});
Expand All @@ -102,10 +117,16 @@ describe('alerts', () => {
...FULL_ENDPOINT,
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
appId: APPID,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
{
attribute: 'appid',
value: APPID,
},
],
retry: false,
},
});
Expand All @@ -132,10 +153,16 @@ describe('alerts', () => {
minInstances: 3,
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
appId: APPID,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
{
attribute: 'appid',
value: APPID,
},
],
retry: false,
},
});
Expand Down
46 changes: 32 additions & 14 deletions spec/v2/providers/alerts/appDistribution.spec.ts
Expand Up @@ -19,10 +19,16 @@ describe('appDistribution', () => {
labels: {},
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: appDistribution.newTesterIosDeviceAlert,
appId: APPID,
},
eventFilters: [
{
attribute: 'alerttype',
value: appDistribution.newTesterIosDeviceAlert,
},
{
attribute: 'appid',
value: APPID,
},
],
retry: false,
},
});
Expand All @@ -38,9 +44,12 @@ describe('appDistribution', () => {
...FULL_ENDPOINT,
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: appDistribution.newTesterIosDeviceAlert,
},
eventFilters: [
{
attribute: 'alerttype',
value: appDistribution.newTesterIosDeviceAlert,
},
],
retry: false,
},
});
Expand All @@ -56,10 +65,16 @@ describe('appDistribution', () => {
...FULL_ENDPOINT,
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: appDistribution.newTesterIosDeviceAlert,
appId: APPID,
},
eventFilters: [
{
attribute: 'alerttype',
value: appDistribution.newTesterIosDeviceAlert,
},
{
attribute: 'appid',
value: APPID,
},
],
retry: false,
},
});
Expand All @@ -73,9 +88,12 @@ describe('appDistribution', () => {
labels: {},
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: appDistribution.newTesterIosDeviceAlert,
},
eventFilters: [
{
attribute: 'alerttype',
value: appDistribution.newTesterIosDeviceAlert,
},
],
retry: false,
},
});
Expand Down

0 comments on commit f45e45f

Please sign in to comment.