Skip to content

Commit c3ba3c2

Browse files
committed
feat: start project
1 parent 01dc7ff commit c3ba3c2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1960
-0
lines changed

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
##
44
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
55

6+
# Project files
7+
AuthToken*
8+
packages/
9+
610
# User-specific files
711
*.rsuser
812
*.suo

MicroserviceAutomation.sln

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 16
4+
VisualStudioVersion = 16.0.31729.503
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MicroserviceAutomation", "MicroserviceAutomation\MicroserviceAutomation.csproj", "{F451E2E3-957B-462A-BE88-86903A2B86A1}"
7+
EndProject
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RestSharpAutomation", "RestSharpAutomation\RestSharpAutomation.csproj", "{68008119-1312-4356-966D-A14FBBBECDDC}"
9+
EndProject
10+
Global
11+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
12+
Debug|Any CPU = Debug|Any CPU
13+
Release|Any CPU = Release|Any CPU
14+
EndGlobalSection
15+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
16+
{F451E2E3-957B-462A-BE88-86903A2B86A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
17+
{F451E2E3-957B-462A-BE88-86903A2B86A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
18+
{F451E2E3-957B-462A-BE88-86903A2B86A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
19+
{F451E2E3-957B-462A-BE88-86903A2B86A1}.Release|Any CPU.Build.0 = Release|Any CPU
20+
{68008119-1312-4356-966D-A14FBBBECDDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21+
{68008119-1312-4356-966D-A14FBBBECDDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
22+
{68008119-1312-4356-966D-A14FBBBECDDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
23+
{68008119-1312-4356-966D-A14FBBBECDDC}.Release|Any CPU.Build.0 = Release|Any CPU
24+
EndGlobalSection
25+
GlobalSection(SolutionProperties) = preSolution
26+
HideSolutionNode = FALSE
27+
EndGlobalSection
28+
GlobalSection(ExtensibilityGlobals) = postSolution
29+
SolutionGuid = {82AB0E3D-2163-4979-8034-9E8C55282DB6}
30+
EndGlobalSection
31+
EndGlobal
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
using MicroserviceAutomation.Model;
2+
using Microsoft.VisualStudio.TestTools.UnitTesting;
3+
using System;
4+
using System.Collections.Generic;
5+
using System.Linq;
6+
using System.Net;
7+
using System.Net.Http;
8+
using System.Text;
9+
using System.Threading.Tasks;
10+
using MicroserviceAutomation.Model.JsonModelGetUniqueUser;
11+
using Newtonsoft.Json;
12+
using MicroserviceAutomation.Helper;
13+
using MicroserviceAutomation.Helper.Request;
14+
15+
namespace MicroserviceAutomation.DeleteEndPoint
16+
{
17+
[TestClass]
18+
public class TestDeleteEndpoint
19+
{
20+
private string baseUrl = "https://gorest.co.in/public/v1/users/";
21+
private string jsonMediaType = "application/json";
22+
private string authHeader = AuthToken.Auth;
23+
private Random random = new Random();
24+
private int userId;
25+
private RestResponse restResponse;
26+
27+
[TestMethod]
28+
public void TestDelete_shouldBe200()
29+
{
30+
AddRecord();
31+
Dictionary<string, string> headers = new Dictionary<string, string>()
32+
{
33+
{"Authorization", authHeader }
34+
};
35+
36+
restResponse = HttpClientHelper.PerformDeleteRequest(baseUrl + userId, headers);
37+
Assert.AreEqual(204, restResponse.StatusCode);
38+
39+
restResponse = HttpClientHelper.PerformDeleteRequest(baseUrl + userId, headers);
40+
Assert.AreEqual(404, restResponse.StatusCode);
41+
}
42+
public void AddRecord()
43+
{
44+
int randonEmailNumber = random.Next(999);
45+
var jsonData = new
46+
{
47+
name = "Catarina Nina Moraes",
48+
gender = "female",
49+
email = $"catarinaninamoraes{randonEmailNumber}@autvale.com",
50+
status = "active"
51+
};
52+
53+
using (HttpClient httpClient = new HttpClient())
54+
{
55+
using (HttpRequestMessage httpRequestMessage = new HttpRequestMessage())
56+
{
57+
58+
httpClient.DefaultRequestHeaders.Add("Accept", jsonMediaType);
59+
httpClient.DefaultRequestHeaders.Add("Authorization", authHeader);
60+
61+
httpRequestMessage.Method = HttpMethod.Post;
62+
httpRequestMessage.RequestUri = new Uri(baseUrl);
63+
httpRequestMessage.Content = new StringContent(JsonConvert.SerializeObject(jsonData), Encoding.UTF8, "application/json");
64+
65+
Task<HttpResponseMessage> httpResponseMessage = httpClient.SendAsync(httpRequestMessage);
66+
67+
restResponse = new RestResponse((int)httpResponseMessage.Result.StatusCode, httpResponseMessage.Result.Content.ReadAsStringAsync().Result);
68+
69+
JsonRootObjectGetUniqueUser JsonRootObjectGetUniqueUser = JsonConvert.DeserializeObject<JsonRootObjectGetUniqueUser>(restResponse.ResponseContent);
70+
Assert.AreEqual(201, restResponse.StatusCode);
71+
72+
userId = JsonRootObjectGetUniqueUser.data.id;
73+
}
74+
}
75+
}
76+
}
77+
78+
79+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
using System;
2+
using System.Net;
3+
using System.Net.Http;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using MicroserviceAutomation.Helper;
7+
using MicroserviceAutomation.Model;
8+
using MicroserviceAutomation.Model.JsonModelGetAll;
9+
using MicroserviceAutomation.Model.JsonModelGetUniqueUser;
10+
using Microsoft.VisualStudio.TestTools.UnitTesting;
11+
using Newtonsoft.Json;
12+
13+
namespace MicroserviceAutomation.GetEndPoint
14+
{
15+
[TestClass]
16+
public class TestGetEndpoint
17+
{
18+
private string baseUrl = "https://gorest.co.in/public/v1/users/";
19+
private string getInvalidUserUrl = "https://gorest.co.in/public/v1/users/20063";
20+
private string jsonMediaType = "application/json";
21+
private string authHeader = AuthToken.Auth;
22+
private RestResponse restResponse;
23+
private Random random = new Random();
24+
private int userIdPost;
25+
26+
[TestMethod]
27+
public void TestAssertGetAllUsers_shouldBe200()
28+
{
29+
using (HttpClient httpClient = new HttpClient())
30+
{
31+
using (HttpRequestMessage httpRequestMessage = new HttpRequestMessage())
32+
{
33+
httpRequestMessage.RequestUri = new Uri(baseUrl);
34+
httpRequestMessage.Method = HttpMethod.Get;
35+
httpRequestMessage.Headers.Add("Accept", "application/json");
36+
37+
Task<HttpResponseMessage> httpResponse = httpClient.SendAsync(httpRequestMessage);
38+
39+
using (HttpResponseMessage httpResponseMessage = httpResponse.Result)
40+
{
41+
Console.WriteLine(httpResponseMessage.ToString());
42+
43+
HttpStatusCode statusCode = httpResponseMessage.StatusCode;
44+
45+
HttpContent responseContent = httpResponseMessage.Content;
46+
Task<string> responseData = responseContent.ReadAsStringAsync();
47+
string data = responseData.Result;
48+
49+
RestResponse restResponse = new RestResponse((int)statusCode, responseData.Result);
50+
51+
JsonRootObjectGetAll jsonRootObjectGetAll = JsonConvert.DeserializeObject<JsonRootObjectGetAll>(restResponse.ResponseContent);
52+
Console.WriteLine(jsonRootObjectGetAll.ToString());
53+
54+
Assert.AreEqual(200, restResponse.StatusCode);
55+
56+
Assert.IsNotNull(restResponse.ResponseContent);
57+
}
58+
}
59+
}
60+
}
61+
62+
[TestMethod]
63+
public void TestAssertGetUniqueUser_shouldBe200()
64+
{
65+
AddRecord();
66+
using (HttpClient httpClient = new HttpClient())
67+
{
68+
using (HttpRequestMessage httpRequestMessage = new HttpRequestMessage())
69+
{
70+
httpRequestMessage.RequestUri = new Uri(baseUrl + userIdPost);
71+
httpRequestMessage.Method = HttpMethod.Get;
72+
httpRequestMessage.Headers.Add("Accept", "application/json");
73+
74+
Task<HttpResponseMessage> httpResponse = httpClient.SendAsync(httpRequestMessage);
75+
76+
using (HttpResponseMessage httpResponseMessage = httpResponse.Result)
77+
{
78+
Console.WriteLine(httpResponseMessage.ToString());
79+
80+
HttpStatusCode statusCode = httpResponseMessage.StatusCode;
81+
82+
HttpContent responseContent = httpResponseMessage.Content;
83+
Task<string> responseData = responseContent.ReadAsStringAsync();
84+
string data = responseData.Result;
85+
86+
RestResponse restResponse = new RestResponse((int)statusCode, responseData.Result);
87+
88+
JsonRootObjectGetUniqueUser JsonRootObjectGetUniqueUser = JsonConvert.DeserializeObject<JsonRootObjectGetUniqueUser>(restResponse.ResponseContent);
89+
Console.WriteLine(JsonRootObjectGetUniqueUser.ToString());
90+
91+
Assert.AreEqual(200, restResponse.StatusCode);
92+
93+
Assert.IsNotNull(restResponse.ResponseContent);
94+
95+
Assert.AreEqual(userIdPost, JsonRootObjectGetUniqueUser.data.id);
96+
Assert.AreEqual("Catarina Nina Moraes", JsonRootObjectGetUniqueUser.data.name);
97+
Assert.AreEqual("female", JsonRootObjectGetUniqueUser.data.gender);
98+
Assert.AreEqual("active", JsonRootObjectGetUniqueUser.data.status);
99+
}
100+
}
101+
}
102+
}
103+
104+
public void AddRecord()
105+
{
106+
int randonEmailNumber = random.Next(999);
107+
var jsonData = new
108+
{
109+
name = "Catarina Nina Moraes",
110+
gender = "female",
111+
email = $"catarinaninamoraes{randonEmailNumber}@autvale.com",
112+
status = "active"
113+
};
114+
115+
using (HttpClient httpClient = new HttpClient())
116+
{
117+
using (HttpRequestMessage httpRequestMessage = new HttpRequestMessage())
118+
{
119+
120+
httpClient.DefaultRequestHeaders.Add("Accept", jsonMediaType);
121+
httpClient.DefaultRequestHeaders.Add("Authorization", authHeader);
122+
123+
httpRequestMessage.Method = HttpMethod.Post;
124+
httpRequestMessage.RequestUri = new Uri(baseUrl);
125+
httpRequestMessage.Content = new StringContent(JsonConvert.SerializeObject(jsonData), Encoding.UTF8, "application/json");
126+
127+
Task<HttpResponseMessage> httpResponseMessage = httpClient.SendAsync(httpRequestMessage);
128+
129+
restResponse = new RestResponse((int)httpResponseMessage.Result.StatusCode, httpResponseMessage.Result.Content.ReadAsStringAsync().Result);
130+
131+
JsonRootObjectGetUniqueUser JsonRootObjectGetUniqueUser = JsonConvert.DeserializeObject<JsonRootObjectGetUniqueUser>(restResponse.ResponseContent);
132+
Assert.AreEqual(201, restResponse.StatusCode);
133+
134+
userIdPost = JsonRootObjectGetUniqueUser.data.id;
135+
}
136+
}
137+
}
138+
139+
[TestMethod]
140+
public void TestAssertGetInvalidUser_shouldBe404()
141+
{
142+
143+
using (HttpClient httpClient = new HttpClient())
144+
{
145+
using (HttpRequestMessage httpRequestMessage = new HttpRequestMessage())
146+
{
147+
httpRequestMessage.RequestUri = new Uri(getInvalidUserUrl);
148+
httpRequestMessage.Method = HttpMethod.Get;
149+
httpRequestMessage.Headers.Add("Accept", "application/json");
150+
151+
Task<HttpResponseMessage> httpResponse = httpClient.SendAsync(httpRequestMessage);
152+
153+
using (HttpResponseMessage httpResponseMessage = httpResponse.Result)
154+
{
155+
Console.WriteLine(httpResponseMessage.ToString());
156+
157+
HttpStatusCode statusCode = httpResponseMessage.StatusCode;
158+
159+
HttpContent responseContent = httpResponseMessage.Content;
160+
Task<string> responseData = responseContent.ReadAsStringAsync();
161+
string data = responseData.Result;
162+
163+
RestResponse restResponse = new RestResponse((int)statusCode, responseData.Result);
164+
165+
JsonRootObjectGetUniqueUser JsonRootObjectGetUniqueUser = JsonConvert.DeserializeObject<JsonRootObjectGetUniqueUser>(restResponse.ResponseContent);
166+
Console.WriteLine(JsonRootObjectGetUniqueUser.ToString());
167+
168+
Assert.AreEqual(404, restResponse.StatusCode);
169+
170+
Assert.AreEqual("Resource not found", JsonRootObjectGetUniqueUser.data.message);
171+
}
172+
}
173+
}
174+
}
175+
}
176+
}

MicroserviceAutomation/Helper/Data.cs

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace MicroserviceAutomation.Helper
8+
{
9+
class Data
10+
{
11+
public static int UserId { get; set; }
12+
}
13+
}

0 commit comments

Comments
 (0)