public IActionResult GenericPost([FromBody] GenericRequest request) { Log.Debug("BEGUN: Start Post Method"); IEFTPlugin plugin; var response = new GenericResponse() { Payload = request.PayLoad, Info = request.Info, Result = new Result() { ErrorCode = "", OperationType = request.OperationType, } }; //var operation = DictionaryExtensions.DictionaryToObject<Operation>(request.PayLoad.AdditionalInfo); //operation.CashierID = request.PayLoad.CashierID; //operation.CurrencyCode = request.PayLoad.CurrencyCode; //operation.SessionId = request.PayLoad.SessionId; //operation.OperationType = request.OperationType; try { _plugins = PluginLoadContext.ReadExtensions(Config); plugin = _plugins; var infoPlugin = plugin.GetInfo(); response.Info.PluginInfo = infoPlugin; if (!infoPlugin.Capabilities.Any(x => x.ToLower() == request.OperationType.ToLower())) { response.Result.Status = "Error"; response.Result.ResponseCode = "Operation not supported"; Log.Fatal("END: Operation not supported by plugin"); return(BadRequest(JsonConvert.SerializeObject(response))); } else { if (synch) { Log.Debug("END: Post Method"); return(Post(request, response, plugin)); } else { Log.Debug("END: Post Method"); return(PostAsync(request, response, plugin)); } } } catch (Exception e) { Log.Fatal("END: Error ", e); return(BadRequest(JsonConvert.SerializeObject(response))); } }
public void GetInfo_ShouldReturnPluginInfoIfExist() { ConfigureWithoutBindMethod(); try { _plugins = PluginLoadContext.ReadExtensions(Config); } catch (Exception e) { } ConfigureWithoutBindMethod(); var infoPlugin = _plugins.GetInfo(); Assert.IsNotNull(infoPlugin); }
public void InitMethod_ReturnError() { ConfigureWithoutBindMethod(); try { _plugins = PluginLoadContext.ReadExtensions(Config); } catch (Exception e) { } request.OperationType = "init"; var init = _plugins.Init(request, response); Assert.AreEqual(init.Result.Status, "Success"); //Mock<IEFTPlugin> mock1 = new Mock<IEFTPlugin>(); //var tes=mock1.Setup(x => x.Init(request, response)).Returns(response); //var t = tes; }