public async Task Id_On_Objects() { // arrange var idSerializer = new IdSerializer(); var someId = idSerializer.Serialize("Some", 1); // act IExecutionResult result = await SchemaBuilder.New() .AddQueryType <QueryType>() .AddType <FooPayloadType>() .Create() .MakeExecutable() .ExecuteAsync( QueryRequestBuilder.New() .SetQuery( @"query foo ($someId: ID!) { foo(input: { someId: $someId }) { someId } }") .SetVariableValue("someId", someId) .Create()); // assert new { result = result.ToJson(), someId }.MatchSnapshot(); }
public async Task Id_On_Arguments() { // arrange var idSerializer = new IdSerializer(); var intId = idSerializer.Serialize("Query", 1); var stringId = idSerializer.Serialize("Query", "abc"); var guidId = idSerializer.Serialize("Query", Guid.Empty); // act IExecutionResult result = await SchemaBuilder.New() .AddQueryType <QueryType>() .AddType <FooPayloadType>() .Create() .MakeExecutable() .ExecuteAsync( QueryRequestBuilder.New() .SetQuery( @"query foo ($intId: ID! $stringId: ID! $guidId: ID!) { intId(id: $intId) stringId(id: $stringId) guidId(id: $guidId) }") .SetVariableValue("intId", intId) .SetVariableValue("stringId", stringId) .SetVariableValue("guidId", guidId) .Create()); // assert result.ToJson().MatchSnapshot(); }
public void IsPossibleBase64String(string serialized, bool valid) { // arrange var serializer = new IdSerializer(); // act bool result = IdSerializer.IsPossibleBase64String(serialized); // assert Assert.Equal(valid, result); }
public void Serialize_IdIsNull_Null() { // arrange var serializer = new IdSerializer(); // act var s = serializer.Serialize("Foo", default(object)); // assert Assert.Null(s); }
public void Deserialize_SerializedIsNull_ArgumentNullException() { // arrange var serializer = new IdSerializer(); // act Action a = () => serializer.Deserialize(null); // assert Assert.Throws <ArgumentNullException>(a); }
public void IsPossibleBase64String_sIsNull_ArgumentNullException() { // arrange var serializer = new IdSerializer(); // act Action a = () => IdSerializer.IsPossibleBase64String(null); // assert Assert.Throws <ArgumentNullException>(a); }
public void Serialize_IdIsNull_ArgumentNullException() { // arrange var serializer = new IdSerializer(); // act Action a = () => serializer.Serialize("Foo", default(object)); // assert Assert.Throws <ArgumentNullException>(a); }
public void Serialize_TypeNameIsEmpty_ArgumentException() { // arrange var serializer = new IdSerializer(); // act Action a = () => serializer.Serialize("", 123); // assert Assert.Throws <ArgumentException>(a); }
public async Task Id_On_Arguments() { // arrange var idSerializer = new IdSerializer(); var intId = idSerializer.Serialize("Query", 1); var stringId = idSerializer.Serialize("Query", "abc"); var guidId = idSerializer.Serialize( "Query", new Guid("26a2dc8f-4dab-408c-88c6-523a0a89a2b5")); // act IExecutionResult result = await SchemaBuilder.New() .AddQueryType <Query>() .AddType <FooPayload>() .Create() .MakeExecutable() .ExecuteAsync( QueryRequestBuilder.New() .SetQuery(@"query foo ( $intId: ID! $nullIntId: ID = null $stringId: ID! $nullStringId: ID = null $guidId: ID! $nullGuidId: ID = null) { intId(id: $intId) nullableIntId(id: $intId) nullableIntIdGivenNull: nullableIntId(id: $nullIntId) intIdList(id: [$intId]) nullableIntIdList(id: [$intId, $nullIntId]) stringId(id: $stringId) nullableStringId(id: $stringId) nullableStringIdGivenNull: nullableStringId(id: $nullStringId) stringIdList(id: [$stringId]) nullableStringIdList(id: [$stringId, $nullStringId]) guidId(id: $guidId) nullableGuidId(id: $guidId) nullableGuidIdGivenNull: nullableGuidId(id: $nullGuidId) guidIdList(id: [$guidId $guidId]) nullableGuidIdList(id: [$guidId $nullGuidId $guidId]) }") .SetVariableValue("intId", intId) .SetVariableValue("stringId", stringId) .SetVariableValue("guidId", guidId) .Create()); // assert result.ToJson().MatchSnapshot(); }
public void DeserializeIdValue( string serialized, object id, Type idType) { // arrange var serializer = new IdSerializer(); // act IdValue value = serializer.Deserialize(serialized); // assert Assert.IsType(idType, value.Value); Assert.Equal(id, value.Value); Assert.Equal("Foo", value.TypeName); }
public void DeserializeGuidValue() { // arrange var serialized = "Rm9vLWc989TaMzDXRbdUHZrCOXTZ"; var serializer = new IdSerializer(); // act IdValue value = serializer.Deserialize(serialized); // assert Assert.Equal( new Guid("dad4f33d303345d7b7541d9ac23974d9"), Assert.IsType <Guid>(value.Value)); Assert.Equal("Foo", value.TypeName); }
public void DeserializeGuidValue() { // arrange var serialized = "Rm9vCmdkYWQ0ZjMzZDMwMzM0NWQ3Yjc1NDFkOWFjMjM5NzRkOQ=="; var serializer = new IdSerializer(); // act IdValue value = serializer.Deserialize(serialized); // assert Assert.Equal( new Guid("dad4f33d303345d7b7541d9ac23974d9"), Assert.IsType <Guid>(value.Value)); Assert.Equal("Foo", value.TypeName); }
public void SerializeIdValue(object id, string expected) { // arrange NameString typeName = "Foo"; var serializer = new IdSerializer(); // act string serializedId = serializer.Serialize(typeName, id); // assert string unwrapped = Encoding.UTF8.GetString( Convert.FromBase64String(serializedId)); Assert.Equal(expected, unwrapped); }
public async Task Id_On_Objects_Given_Nulls() { // arrange var idSerializer = new IdSerializer(); var someId = idSerializer.Serialize("Some", "1"); var someIntId = idSerializer.Serialize("Some", 1); // act IExecutionResult result = await SchemaBuilder.New() .AddQueryType <Query>() .AddType <FooPayload>() .Create() .MakeExecutable() .ExecuteAsync( QueryRequestBuilder.New() .SetQuery( @"query foo ( $someId: ID! $someIntId: ID! $someNullableId: ID $someNullableIntId: ID) { foo(input: { someId: $someId someIds: [$someIntId] someNullableId: $someNullableId someNullableIds: [$someNullableIntId, $someIntId] }) { someId someNullableId ... on FooPayload { someIds someNullableIds } } }") .SetVariableValue("someId", someId) .SetVariableValue("someNullableId", null) .SetVariableValue("someIntId", someIntId) .SetVariableValue("someNullableIntId", null) .Create()); // assert new { result = result.ToJson(), someId, someIntId }.MatchSnapshot(); }
public void SerializeIdValueWithSchemaName(object id, string expected) { // arrange NameString schema = "Bar"; NameString typeName = "Foo"; var serializer = new IdSerializer(includeSchemaName: true); // act string serializedId = serializer.Serialize(schema, typeName, id); // assert string unwrapped = Encoding.UTF8.GetString( Convert.FromBase64String(serializedId)); Assert.Equal(expected, unwrapped); }
public void SerializeGuidValue() { // arrange NameString typeName = "Foo"; var id = new Guid("dad4f33d303345d7b7541d9ac23974d9"); var serializer = new IdSerializer(); // act string serializedId = serializer.Serialize(typeName, id); // assert string unwrapped = Encoding.UTF8.GetString( Convert.FromBase64String(serializedId)); Assert.Equal("Foo\ngdad4f33d303345d7b7541d9ac23974d9", unwrapped); }
public async Task PolyId_On_Arguments() { // arrange var idSerializer = new IdSerializer(); var intId = 1; var stringId = "abc"; Guid guidId = Guid.Empty; // act IExecutionResult result = await SchemaBuilder.New() .AddQueryType <Query>() .AddType <FooPayload>() .TryAddTypeInterceptor <PolymorphicGlobalIdsTypeInterceptor>() .Create() .MakeExecutable() .ExecuteAsync( QueryRequestBuilder.New() .SetQuery( @"query foo ($intId: ID! $stringId: ID! $guidId: ID!) { intId(id: $intId) intIdList(id: [$intId]) stringId(id: $stringId) stringIdList(id: [$stringId]) guidId(id: $guidId) guidIdList(id: [$guidId $guidId]) }") .SetVariableValue("intId", intId) .SetVariableValue("stringId", stringId) .SetVariableValue("guidId", guidId.ToString()) .Create()); // assert new { result = result.ToJson(), intId, stringId, guidId }.MatchSnapshot(); }
public async Task PolyId_On_Objects() { // arrange var idSerializer = new IdSerializer(); var someId = "1"; var someIntId = 1; // act IExecutionResult result = await SchemaBuilder.New() .AddQueryType <Query>() .AddType <FooPayload>() .TryAddTypeInterceptor <PolymorphicGlobalIdsTypeInterceptor>() .Create() .MakeExecutable() .ExecuteAsync( QueryRequestBuilder.New() .SetQuery( @"query foo ($someId: ID! $someIntId: ID!) { foo(input: { someId: $someId someIds: [$someIntId] }) { someId ... on FooPayload { someIds } } }") .SetVariableValue("someId", someId) .SetVariableValue("someIntId", someIntId) .Create()); // assert new { result = result.ToJson(), someId, someIntId }.MatchSnapshot(); }
public async Task InterceptedId_On_Objects() { // arrange var idSerializer = new IdSerializer(); var someId = idSerializer.Serialize("Some", "1"); var someIntId = idSerializer.Serialize("Some", 1); IRequestExecutor executor = SchemaBuilder.New() .AddQueryType <Query>() .AddType <FooPayload>() .Create() .MakeExecutable(); // act IExecutionResult result = await executor .ExecuteAsync( QueryRequestBuilder.New() .SetQuery( @"query foo($someId: ID! $someIntId: ID!) { foo(input: { someId: $someId someIds: [$someIntId] interceptedId: 1 interceptedIds: [1, 2] }) { someId someIds interceptedId interceptedIds } }") .SetVariableValue("someId", someId) .SetVariableValue("someIntId", someIntId) .Create()); // assert result.ToJson().MatchSnapshot(); }