-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
Copy pathMapFromAttributeTests.cs
52 lines (45 loc) · 1.75 KB
/
MapFromAttributeTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FluentAssertions;
using Nest.Tests.MockData.Domain;
using NUnit.Framework;
namespace Nest.Tests.Integration.Mapping
{
[TestFixture]
public class MapFromAttributeTests : IntegrationTests
{
class MapFromAttributeObject
{
public Guid Id { get; set; }
public string Name { get; set; }
[ElasticProperty(Type = FieldType.Nested, IncludeInParent = true)]
public List<NestedObject> NestedObjects { get; set; }
[ElasticProperty(Type = FieldType.Nested)]
public List<NestedObject> NestedObjectsDontIncludeInParent { get; set; }
}
class NestedObject
{
public string Name { get; set; }
}
[Test]
public void InlcudeInParent()
{
var indicesResponse = this.Client.Map<MapFromAttributeObject>(m => m.MapFromAttributes());
indicesResponse.IsValid.Should().BeTrue();
var typeMapping = this.Client.GetMapping<MapFromAttributeObject>(i => i.Type("mapfromattributeobject"));
typeMapping.Should().NotBeNull();
typeMapping.Mapping.Properties["id"].Type.Name.Should().Be("string");
typeMapping.Mapping.Properties["nestedObjects"].Type.Name.Should().Be("nested");
typeMapping.Mapping.Properties["nestedObjectsDontIncludeInParent"].Type.Name.Should().Be("nested");
var nestedObject = typeMapping.Mapping.Properties["nestedObjects"] as NestedObjectMapping;
var nestedObjectDontincludeInParent = typeMapping.Mapping.Properties["nestedObjectsDontIncludeInParent"] as NestedObjectMapping;
nestedObject.Should().NotBeNull();
nestedObjectDontincludeInParent.Should().NotBeNull();
nestedObject.IncludeInParent.Should().BeTrue();
nestedObjectDontincludeInParent.IncludeInParent.Should().NotHaveValue();
}
}
}