public CreateCourseRequest( CreateCourseData data, IRestClient restClient, ValenceAuthenticator auth ) { m_courseData = data; m_restClient = restClient; m_auth = auth; }
public CreateUserRequest( CreateUserData data, IRestClient restClient, ValenceAuthenticator auth ) { m_userData = data; m_restClient = restClient; m_auth = auth; }
public CreateEnrollRequest( CreateEnrollData data, IRestClient restClient, ValenceAuthenticator auth ) { m_enrollData = data; m_restClient = restClient; m_auth = auth; }
static void Main(string[] args) { string appId = ConfigurationManager.AppSettings["applicationId"]; string appKey = ConfigurationManager.AppSettings["applicationKey"]; string userId = ConfigurationManager.AppSettings["serviceUserId"]; string userKey = ConfigurationManager.AppSettings["serviceUserKey"]; string lmsUrl = ConfigurationManager.AppSettings["lmsUrl"]; ValenceAuthenticatorFactory authFactory = new ValenceAuthenticatorFactory( appId, appKey, userId, userKey, lmsUrl); ValenceAuthenticator auth = authFactory.CreateAuthenticator(); RestClient restClient = new RestClient("https://" + lmsUrl); JsonSerializer serializer = new JsonSerializer(); CreateUserResponse userResponse; using (StreamReader file = File.OpenText("user.json")) { CreateUserData userData = (CreateUserData)serializer.Deserialize(file, typeof(CreateUserData)); CreateUserRequest userRequest = new CreateUserRequest( userData, restClient, auth ); userResponse = userRequest.SendRequest(); } CreateCourseResponse courseResponse; using (StreamReader file = File.OpenText("course.json")) { CreateCourseData courseData = ( CreateCourseData )serializer.Deserialize(file, typeof(CreateCourseData)); CreateCourseRequest courseRequest = new CreateCourseRequest( courseData, restClient, auth ); courseResponse = courseRequest.SendRequest(); } CreateEnrollData enrollData = new CreateEnrollData( userResponse.UserId, courseResponse.Identifier ); CreateEnrollRequest enrollRequest = new CreateEnrollRequest( enrollData, restClient, auth ); enrollRequest.SendRequest(); Console.WriteLine("User, course, and enrollment created."); Console.ReadKey(); }
private WhoAmIUser WhoAmI( ) { Debug.Assert(m_valenceUserContext != null, "This call can only be used by an authenticated user"); var client = new RestClient("https://" + LMS_URL); var authenticator = new ValenceAuthenticator(m_valenceUserContext); var request = new RestRequest(WHOAMI_ROUTE); authenticator.Authenticate(client, request); var response = client.Execute <WhoAmIUser>(request); return(response.Data); }
public async Task Put <T>(string route, T data) { var authenticator = new ValenceAuthenticator(ValenceUserContext); var request = new RestRequest(route) { RequestFormat = DataFormat.Json, Method = Method.PUT, }; request.AddBody(data); authenticator.Authenticate(Client, request); await Client.ExecuteTaskAsync(request); }
private WhoAmIUser WhoAmI( ) { if (m_valenceUserContext == null) { throw new Exception("This method can only be used for an authenticated user"); } var client = new RestClient("https://" + LMS_URL); var authenticator = new ValenceAuthenticator(m_valenceUserContext); var request = new RestRequest(WHOAMI_ROUTE); authenticator.Authenticate(client, request); var response = client.Execute <WhoAmIUser>(request); return(response.Data); }
public async Task <T> Request <T>(string route) where T : new() { var authenticator = new ValenceAuthenticator(ValenceUserContext); var request = new RestRequest(route); authenticator.Authenticate(Client, request); var response = await Client.ExecuteTaskAsync(request); if ((int)response.StatusCode < 200 || (int)response.StatusCode > 299) { throw new Exception(response.Content); } try { return(new RestSharp.Deserializers.JsonDeserializer().Deserialize <T>(response)); } catch (System.Xml.XmlException) { throw new Exception(response.Content); } }
public void Init() { var mockUserContext = new Mock<ID2LUserContext>(); string authQueryParameters = string.Join( "&", AUTH_TOKENS ); mockUserContext.Setup( ctxt => ctxt.CreateAuthenticatedTokens( It.IsAny<Uri>(), It.IsAny<string>() ) ) .Returns( ( Uri fullUrl, string method ) => AUTH_TOKENS ); m_authenticator = new ValenceAuthenticator( mockUserContext.Object ); }