public void InsertProductAndValidHash() { // arrange var hash = new HashEntityAgroSearch(); var productHash = hash.HashHeader(typeof(Product)); var productDict = new JsonDictionaryHeaders { index = 12, sug = new Dictionary <int, string> { { 1, "GENERIC_NAME" }, { 14, "SAG_CODE" } }, str = new Dictionary <int, string> { { 13, "GENERIC_CORRELATIVE" } }, rel = new Dictionary <int, string> { { 7, "INGREDIENT" }, { 32, "BRAND" } }, enm = new Dictionary <int, string> { { 0, "GENERIC_MEASURE_TYPE" } }, }; var hashTestDict = Mdm.Reflection.Cripto.ComputeSha256Hash(JsonConvert.SerializeObject(productDict)); Assert.True(productHash.Equals(hashTestDict)); }
public void AddProductToSearch() { // assign // hash operaciones para asignar hash de cabecera y modelo var hash = new HashEntityAgroSearch(); var agroSearchOperation = new AgroSearch <GeoPointTs>(MockHelper.BaseSearch(), new SearchQueries(), new ImplementMock(), hash); // producto input var prd = AgroInputData.Product1; // Convierte en objeto var mapper = new MapperConfiguration(cfg => cfg.CreateMap <ProductInput, Product>()); var mapperLocal = mapper.CreateMapper(); var prdModel = mapperLocal.Map <Product>(prd); // action agroSearchOperation.AddDocument(prdModel); // obtiene los elementos a guardar (entitySearchs) var jsonElement = JsonConvert.DeserializeObject <EntityMockSearch[]>(agroSearchOperation.Queried.First().Value.First()); // hash de cabeceras de producto var hh = hash.HashHeader(prdModel.GetType()); // hash del producto var hm = hash.HashModel(prdModel); // assert // Confirma que los hash confirmen el valor. Assert.True(jsonElement.FirstOrDefault().hm.Equals(hm) && jsonElement.FirstOrDefault().hh.Equals(hh)); }