public async Task <int> CreateAsync <TSource, TDestination>(TSource item) where TSource : class where TDestination : class { _token = await _jwtTokenService.CheckTokenAsync(_token); var channel = GrpcChannel.ForAddress("https://localhost:5001"); var client = new Courses.CoursesClient(channel); var headers = new Metadata(); headers.Add("Authorization", $"Bearer {_token.Token}"); var reply = await client.CreateCourseAsync( new CourseMessage { Title = "BestTitle" }, headers); /* var channel = await CreateAuthenticatedChannel("https://localhost:5001"); * var client = new CoursesService.CoursesServiceClient(channel); */ /* var serviceFactory = _grpcServiceFactory.GetService<TSource>(); * serviceFactory * * var reply = await client.CreateCourseAsync( * new CourseMessage { Title = "BestTitle" });.*/ return(reply.Id); }
public CoursesAdminService(IJwtTokenService jwtTokenService, Courses.CoursesClient coursesClient, IMapper mapper) { _jwtTokenService = jwtTokenService; _coursesClient = coursesClient; _mapper = mapper; }
static async Task Main(string[] args) { //AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true); var channel = GrpcChannel.ForAddress("https://localhost:5001"); //var client = new Greeter.GreeterClient(channel); //var reply = await client.SayHelloAsync( // new HelloRequest { Name = "GreeterClient" }); //var result = "Greeting: " + reply.Message; var client = new Courses.CoursesClient(channel); var reply = await client.CreateCourseAsync( new CourseMessage { Title = "BestTitle" }); var result = reply.Title; Console.WriteLine(result); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }
public void CourseRPCTest() { var client = new Courses.CoursesClient(_channel); Course course = new Course() { Id = 0, Name = "name1", }; CourseKey key = client.AddCourse(course); Assert.IsTrue(key.Id > 0); course.Id = key.Id; Course temp = client.GetCourse(key); Assert.AreEqual(temp.Id, course.Id); Assert.AreEqual(temp.Name, course.Name); CourseList list = client.GetCourses(new Empty()); foreach (var item in list.CourseList_) { if (item.Id != course.Id) { continue; } Assert.AreEqual(item.Name, course.Name); } course.Name = "Name2"; client.UpdateCourse(course); temp = client.GetCourse(key); Assert.AreEqual(temp.Id, course.Id); Assert.AreEqual(temp.Name, course.Name); client.DeleteCourse(key); temp = client.GetCourse(key); Assert.IsTrue(temp.Id == 0);; }
public void EnrollmentRPCTest() { var clientCourse = new Courses.CoursesClient(_channel); var clientStudent = new Students.StudentsClient(_channel); var clientEnrollment = new Enrollments.EnrollmentsClient(_channel); Course course = new Course() { Id = 0, Name = "name1", }; CourseKey courseKey = clientCourse.AddCourse(course); Assert.IsTrue(courseKey.Id > 0); course.Id = courseKey.Id; Student student = new Student() { Id = 0, Name = "name1", Age = 33 }; StudentKey studentKey = clientStudent.AddStudent(student); Assert.IsTrue(studentKey.Id > 0); student.Name = "Name2"; student.Age = 44; studentKey = clientStudent.AddStudent(student); Assert.IsTrue(studentKey.Id > 0); student.Id = studentKey.Id; clientEnrollment.AddEnrollments(new EnrollmentKey() { StudentId = student.Id, CourseId = course.Id }); StudentList studentList = clientEnrollment.GetEnrolledStudents(new CourseKey() { Id = course.Id }); int cnt = 0; foreach (var item in studentList.StudentList_) { Assert.AreEqual(item.Id, student.Id); Assert.AreEqual(item.Name, student.Name); Assert.AreEqual(item.Age, student.Age); cnt++; } Assert.IsTrue(cnt == 1); CourseList courseList = clientEnrollment.GetEnrolledCourses(new StudentKey() { Id = student.Id }); cnt = 0; foreach (var item in courseList.CourseList_) { Assert.AreEqual(item.Id, course.Id); Assert.AreEqual(item.Name, course.Name); cnt++; } Assert.IsTrue(cnt == 1); clientEnrollment.RemoveEnrollments(new EnrollmentKey() { StudentId = student.Id, CourseId = course.Id }); cnt = 0; studentList = clientEnrollment.GetEnrolledStudents(new CourseKey() { Id = course.Id }); foreach (var item in studentList.StudentList_) { cnt++; } Assert.IsTrue(cnt == 0); courseList = clientEnrollment.GetEnrolledCourses(new StudentKey() { Id = student.Id }); foreach (var item in courseList.CourseList_) { cnt++; } Assert.IsTrue(cnt == 0); }