Skip to content

Commit ff0feb4

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
[OMG-1253] Add BDD test coverage for CreateTeamMembership (#3680)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent e598af1 commit ff0feb4

6 files changed

+363
-17
lines changed

examples/v2/teams/CreateTeamMembership.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
import com.datadog.api.client.ApiClient;
44
import com.datadog.api.client.ApiException;
55
import com.datadog.api.client.v2.api.TeamsApi;
6-
import com.datadog.api.client.v2.model.RelationshipToUserTeamTeam;
7-
import com.datadog.api.client.v2.model.RelationshipToUserTeamTeamData;
86
import com.datadog.api.client.v2.model.RelationshipToUserTeamUser;
97
import com.datadog.api.client.v2.model.RelationshipToUserTeamUserData;
108
import com.datadog.api.client.v2.model.UserTeamAttributes;
@@ -13,7 +11,6 @@
1311
import com.datadog.api.client.v2.model.UserTeamRequest;
1412
import com.datadog.api.client.v2.model.UserTeamResponse;
1513
import com.datadog.api.client.v2.model.UserTeamRole;
16-
import com.datadog.api.client.v2.model.UserTeamTeamType;
1714
import com.datadog.api.client.v2.model.UserTeamType;
1815
import com.datadog.api.client.v2.model.UserTeamUserType;
1916

@@ -22,29 +19,29 @@ public static void main(String[] args) {
2219
ApiClient defaultClient = ApiClient.getDefaultApiClient();
2320
TeamsApi apiInstance = new TeamsApi(defaultClient);
2421

22+
// there is a valid "dd_team" in the system
23+
String DD_TEAM_DATA_ID = System.getenv("DD_TEAM_DATA_ID");
24+
25+
// there is a valid "user" in the system
26+
String USER_DATA_ID = System.getenv("USER_DATA_ID");
27+
2528
UserTeamRequest body =
2629
new UserTeamRequest()
2730
.data(
2831
new UserTeamCreate()
2932
.attributes(new UserTeamAttributes().role(UserTeamRole.ADMIN))
3033
.relationships(
3134
new UserTeamRelationships()
32-
.team(
33-
new RelationshipToUserTeamTeam()
34-
.data(
35-
new RelationshipToUserTeamTeamData()
36-
.id("d7e15d9d-d346-43da-81d8-3d9e71d9a5e9")
37-
.type(UserTeamTeamType.TEAM)))
3835
.user(
3936
new RelationshipToUserTeamUser()
4037
.data(
4138
new RelationshipToUserTeamUserData()
42-
.id("b8626d7e-cedd-11eb-abf5-da7ad0900001")
39+
.id(USER_DATA_ID)
4340
.type(UserTeamUserType.USERS))))
4441
.type(UserTeamType.TEAM_MEMBERSHIPS));
4542

4643
try {
47-
UserTeamResponse result = apiInstance.createTeamMembership("team_id", body);
44+
UserTeamResponse result = apiInstance.createTeamMembership(DD_TEAM_DATA_ID, body);
4845
System.out.println(result);
4946
} catch (ApiException e) {
5047
System.err.println("Exception when calling TeamsApi#createTeamMembership");
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2026-03-31T14:58:05.044Z
Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
[
2+
{
3+
"httpRequest": {
4+
"body": {
5+
"type": "JSON",
6+
"json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-22e42ce95626a92a\",\"name\":\"test-name-22e42ce95626a92a\"},\"type\":\"team\"}}"
7+
},
8+
"headers": {},
9+
"method": "POST",
10+
"path": "/api/v2/team",
11+
"keepAlive": false,
12+
"secure": true
13+
},
14+
"httpResponse": {
15+
"body": "{\"data\":{\"id\":\"abc7c612-d3a1-4147-bcfa-f28b4af43d33\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":10,\"created_at\":\"2026-03-31T14:58:05.503733+00:00\",\"description\":null,\"handle\":\"test-handle-22e42ce95626a92a\",\"hidden_modules\":null,\"is_managed\":false,\"link_count\":0,\"modified_at\":\"2026-03-31T14:58:05.503733+00:00\",\"name\":\"test-name-22e42ce95626a92a\",\"summary\":null,\"user_count\":0,\"visible_modules\":null},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/abc7c612-d3a1-4147-bcfa-f28b4af43d33/links\"}},\"user_team_permissions\":{\"data\":null,\"links\":{\"related\":\"/api/v2/team/abc7c612-d3a1-4147-bcfa-f28b4af43d33/permission-settings\"}}}}}",
16+
"headers": {
17+
"Content-Type": [
18+
"application/vnd.api+json"
19+
]
20+
},
21+
"statusCode": 201,
22+
"reasonPhrase": "Created"
23+
},
24+
"times": {
25+
"remainingTimes": 1
26+
},
27+
"timeToLive": {
28+
"unlimited": true
29+
},
30+
"id": "0f6d2248-08e0-ef27-3687-08f6b4d31e4c"
31+
},
32+
{
33+
"httpRequest": {
34+
"body": {
35+
"type": "JSON",
36+
"json": "{\"data\":{\"attributes\":{\"email\":\"Test-Add_a_user_to_a_team_returns_API_error_response_response-1774969085@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}"
37+
},
38+
"headers": {},
39+
"method": "POST",
40+
"path": "/api/v2/users",
41+
"keepAlive": false,
42+
"secure": true
43+
},
44+
"httpResponse": {
45+
"body": "{\"data\": {\"type\": \"users\", \"id\": \"825c5f4c-585c-494a-aade-60f1e1aa189b\", \"attributes\": {\"name\": null, \"handle\": \"test-add_a_user_to_a_team_returns_api_error_response_response-1774969085@datadoghq.com\", \"created_at\": \"2026-03-31T14:58:06.030754+00:00\", \"modified_at\": \"2026-03-31T14:58:06.030754+00:00\", \"email\": \"test-add_a_user_to_a_team_returns_api_error_response_response-1774969085@datadoghq.com\", \"icon\": \"https://secure.gravatar.com/avatar/53ba6f826ef9a49acaeec55d1bcc1c47?s=48&d=retro\", \"title\": \"user title\", \"verified\": false, \"service_account\": false, \"disabled\": false, \"allowed_login_methods\": [], \"status\": \"Pending\", \"last_login_time\": null}, \"relationships\": {\"roles\": {\"data\": []}, \"org\": {\"data\": {\"type\": \"orgs\", \"id\": \"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}",
46+
"headers": {
47+
"Content-Type": [
48+
"application/json"
49+
]
50+
},
51+
"statusCode": 201,
52+
"reasonPhrase": "Created"
53+
},
54+
"times": {
55+
"remainingTimes": 1
56+
},
57+
"timeToLive": {
58+
"unlimited": true
59+
},
60+
"id": "3785ade5-25e6-768c-c12e-a07fcfa448c0"
61+
},
62+
{
63+
"httpRequest": {
64+
"body": {
65+
"type": "JSON",
66+
"json": "{\"data\":{\"attributes\":{\"role\":\"admin\"},\"relationships\":{\"user\":{\"data\":{\"id\":\"825c5f4c-585c-494a-aade-60f1e1aa189b\",\"type\":\"users\"}}},\"type\":\"team_memberships\"}}"
67+
},
68+
"headers": {},
69+
"method": "POST",
70+
"path": "/api/v2/team/abc7c612-d3a1-4147-bcfa-f28b4af43d33/memberships",
71+
"keepAlive": false,
72+
"secure": true
73+
},
74+
"httpResponse": {
75+
"body": "{\"data\":{\"id\":\"TeamMembership-abc7c612-d3a1-4147-bcfa-f28b4af43d33-66215044\",\"type\":\"team_memberships\",\"attributes\":{\"provisioned_by\":null,\"provisioned_by_id\":\"a1d5ff5a-c6dd-11f0-9cb6-06640ca27ad4\",\"role\":\"admin\"},\"relationships\":{\"user\":{\"data\":{\"id\":\"825c5f4c-585c-494a-aade-60f1e1aa189b\",\"type\":\"users\"}}}},\"included\":[{\"id\":\"825c5f4c-585c-494a-aade-60f1e1aa189b\",\"type\":\"users\",\"attributes\":{\"disabled\":false,\"email\":\"test-add_a_user_to_a_team_returns_api_error_response_response-1774969085@datadoghq.com\",\"handle\":\"test-add_a_user_to_a_team_returns_api_error_response_response-1774969085@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/53ba6f826ef9a49acaeec55d1bcc1c47?d=retro\\u0026s=48\",\"name\":null,\"service_account\":false,\"status\":\"Pending\"}}]}",
76+
"headers": {
77+
"Content-Type": [
78+
"application/vnd.api+json"
79+
]
80+
},
81+
"statusCode": 200,
82+
"reasonPhrase": "OK"
83+
},
84+
"times": {
85+
"remainingTimes": 1
86+
},
87+
"timeToLive": {
88+
"unlimited": true
89+
},
90+
"id": "a61ba428-f7d6-96c4-ae6a-680ac4abf3bf"
91+
},
92+
{
93+
"httpRequest": {
94+
"body": {
95+
"type": "JSON",
96+
"json": "{\"data\":{\"attributes\":{\"role\":\"admin\"},\"relationships\":{\"user\":{\"data\":{\"id\":\"825c5f4c-585c-494a-aade-60f1e1aa189b\",\"type\":\"users\"}}},\"type\":\"team_memberships\"}}"
97+
},
98+
"headers": {},
99+
"method": "POST",
100+
"path": "/api/v2/team/abc7c612-d3a1-4147-bcfa-f28b4af43d33/memberships",
101+
"keepAlive": false,
102+
"secure": true
103+
},
104+
"httpResponse": {
105+
"body": "{\"errors\":[{\"status\":\"409\",\"title\":\"Conflict\",\"detail\":\"users already present on the team [825c5f4c-585c-494a-aade-60f1e1aa189b]\"}]}",
106+
"headers": {
107+
"Content-Type": [
108+
"application/vnd.api+json"
109+
]
110+
},
111+
"statusCode": 409,
112+
"reasonPhrase": "Conflict"
113+
},
114+
"times": {
115+
"remainingTimes": 1
116+
},
117+
"timeToLive": {
118+
"unlimited": true
119+
},
120+
"id": "a61ba428-f7d6-96c4-ae6a-680ac4abf3c0"
121+
},
122+
{
123+
"httpRequest": {
124+
"headers": {},
125+
"method": "DELETE",
126+
"path": "/api/v2/team/abc7c612-d3a1-4147-bcfa-f28b4af43d33/memberships/825c5f4c-585c-494a-aade-60f1e1aa189b",
127+
"keepAlive": false,
128+
"secure": true
129+
},
130+
"httpResponse": {
131+
"headers": {},
132+
"statusCode": 204,
133+
"reasonPhrase": "No Content"
134+
},
135+
"times": {
136+
"remainingTimes": 1
137+
},
138+
"timeToLive": {
139+
"unlimited": true
140+
},
141+
"id": "92142243-fca9-c24f-cecb-3f2102c692e4"
142+
},
143+
{
144+
"httpRequest": {
145+
"headers": {},
146+
"method": "DELETE",
147+
"path": "/api/v2/users/825c5f4c-585c-494a-aade-60f1e1aa189b",
148+
"keepAlive": false,
149+
"secure": true
150+
},
151+
"httpResponse": {
152+
"headers": {},
153+
"statusCode": 204,
154+
"reasonPhrase": "No Content"
155+
},
156+
"times": {
157+
"remainingTimes": 1
158+
},
159+
"timeToLive": {
160+
"unlimited": true
161+
},
162+
"id": "f4641238-0094-30cf-34fd-cbb0584c39bb"
163+
},
164+
{
165+
"httpRequest": {
166+
"headers": {},
167+
"method": "DELETE",
168+
"path": "/api/v2/team/abc7c612-d3a1-4147-bcfa-f28b4af43d33",
169+
"keepAlive": false,
170+
"secure": true
171+
},
172+
"httpResponse": {
173+
"headers": {},
174+
"statusCode": 204,
175+
"reasonPhrase": "No Content"
176+
},
177+
"times": {
178+
"remainingTimes": 1
179+
},
180+
"timeToLive": {
181+
"unlimited": true
182+
},
183+
"id": "3c4a5d8e-3898-0fa5-ef47-5e299f966144"
184+
}
185+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2026-03-31T14:57:49.739Z

0 commit comments

Comments
 (0)