public async Task Should_apply_a_static_effect() { var color = Color.FromArgb(139, 0, 0); var bgr = 139; var device = "mouse"; var content = ToStringContent(JsonConvert.SerializeObject(new ChromaEffect() { Param = new Dictionary <string, int>() { { "color", bgr } } })); var subject = new ChromaClient(HttpClient) { SessionUri = SESSION_URI }; ExpectRequest(HttpMethod.Put, $"{SESSION_URI}/{device}", content); await subject.ApplyStaticEffectAsync(device, color); Handler.Verify(); }
public async Task Should_send_heartbeat() { var subject = new ChromaClient(HttpClient) { SessionUri = SESSION_URI }; ExpectRequest(HttpMethod.Put, $"{SESSION_URI}/heartbeat"); await subject.SendHeartbeatAsync(); Handler.Verify(); }
public async Task Should_initialize_a_chroma_session() { var subject = new ChromaClient(HttpClient); ExpectRequest( method: HttpMethod.Post, uri: ChromaClient.CHROMA_INITIALIZATION_ENDPOINT, body: ChromaClient.CHROMA_INITIALIZATION_BODY, responseBody: $@"{{""sessionid"": 12345, ""uri"": ""{SESSION_URI}""}}" ); await subject.InitializeAsync(); Assert.AreEqual(SESSION_URI, subject.SessionUri); }
public async Task Should_throw_exception_on_failed_initialization() { var subject = new ChromaClient(HttpClient); ExpectRequest( method: HttpMethod.Post, uri: ChromaClient.CHROMA_INITIALIZATION_ENDPOINT, body: ChromaClient.CHROMA_INITIALIZATION_BODY, responseBody: $@"{{""error"": ""went to destination f****d"", ""result"": 87}}" ); Assert.ThrowsAsync <ChromaException>(() => subject.InitializeAsync()); Handler.Verify(); }
public void Should_throw_exception_when_update_returns_non_zero_exit_code() { var device = "keyboard"; var payload = "some payload"; var content = ToStringContent(payload); var subject = new ChromaClient(HttpClient) { SessionUri = SESSION_URI }; ExpectRequest(HttpMethod.Put, $"{SESSION_URI}/{device}", content, @"{""result"": 81, ""error"": ""failed big times""}"); Assert.ThrowsAsync <ChromaException>(() => subject.UpdateAsync(device, payload)); Handler.Verify(); }
public void Should_throw_execption_on_failure_to_update() { var device = "keyboard"; var payload = "some payload"; var content = ToStringContent(payload); var subject = new ChromaClient(HttpClient) { SessionUri = SESSION_URI }; ExpectRequest(HttpMethod.Put, $"{SESSION_URI}/{device}", content, @"{""result"": 76}", HttpStatusCode.InternalServerError); Assert.ThrowsAsync <HttpRequestException>(() => subject.UpdateAsync(device, payload)); Handler.Verify(); }
public async Task Should_update() { var device = "keyboard"; var payload = "some payload"; var content = ToStringContent(payload); var subject = new ChromaClient(HttpClient) { SessionUri = SESSION_URI }; ExpectRequest(HttpMethod.Put, $"{SESSION_URI}/{device}", content); await subject.UpdateAsync(device, payload); Handler.Verify(); }
public void Should_throw_exception_when_apply_static_effect_returns_non_zero_exit_code() { var color = Color.FromArgb(139, 0, 0); var bgr = 139; var device = "mouse"; var content = ToStringContent(JsonConvert.SerializeObject(new ChromaEffect() { Param = new Dictionary <string, int>() { { "color", bgr } } })); var subject = new ChromaClient(HttpClient) { SessionUri = SESSION_URI }; ExpectRequest(HttpMethod.Put, $"{SESSION_URI}/{device}", content, @"{""result"": 76, ""error"": ""failed big times""}"); Assert.ThrowsAsync <ChromaException>(() => subject.ApplyStaticEffectAsync(device, color)); Handler.Verify(); }
public void Should_throw_exception_on_request_failure_to_apply_static_effect() { var color = Color.FromArgb(139, 0, 0); var bgr = 139; var device = "mouse"; var content = ToStringContent(JsonConvert.SerializeObject(new ChromaEffect() { Param = new Dictionary <string, int>() { { "color", bgr } } })); var subject = new ChromaClient(HttpClient) { SessionUri = SESSION_URI }; ExpectRequest(HttpMethod.Put, $"{SESSION_URI}/{device}", content, @"{""result"": 76}", HttpStatusCode.InternalServerError); Assert.ThrowsAsync <HttpRequestException>(() => subject.ApplyStaticEffectAsync(device, color)); Handler.Verify(); }