Skip to content

Commit fde060b

Browse files
committedNov 13, 2020
Merge branch 'master' of github.com:pacedotdev/oto
2 parents 414ea93 + 1760a73 commit fde060b

File tree

2 files changed

+31
-12
lines changed

2 files changed

+31
-12
lines changed
 

‎parser/parser_test.go

+17-12
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestParse(t *testing.T) {
1919
is.NoErr(err)
2020

2121
is.Equal(def.PackageName, "pleasantries")
22-
is.Equal(len(def.Services), 2) // should be 2 services
22+
is.Equal(len(def.Services), 3) // should be 3 services
2323
is.Equal(def.Services[0].Name, "GreeterService")
2424
is.Equal(def.Services[0].Metadata["strapline"], "A lovely greeter service") // custom metadata
2525
is.Equal(def.Services[0].Comment, `GreeterService is a polite API.
@@ -102,17 +102,22 @@ You will love it.`)
102102
is.Equal(greetOutputObject.Fields[1].Type.Multiple, false)
103103
is.Equal(greetOutputObject.Fields[1].Type.Package, "")
104104

105-
is.Equal(def.Services[1].Name, "Welcomer")
106-
is.Equal(len(def.Services[1].Methods), 1)
105+
is.Equal(def.Services[1].Name, "StrangeTypesService")
106+
strangeInputObj, err := def.Object(def.Services[1].Methods[0].InputObject.ObjectName)
107+
is.NoErr(err)
108+
is.Equal(strangeInputObj.Fields[0].Type.JSType, "any")
109+
110+
is.Equal(def.Services[2].Name, "Welcomer")
111+
is.Equal(len(def.Services[2].Methods), 1)
107112

108-
is.Equal(def.Services[1].Methods[0].InputObject.TypeName, "WelcomeRequest")
109-
is.Equal(def.Services[1].Methods[0].InputObject.Multiple, false)
110-
is.Equal(def.Services[1].Methods[0].InputObject.Package, "")
111-
is.Equal(def.Services[1].Methods[0].OutputObject.TypeName, "WelcomeResponse")
112-
is.Equal(def.Services[1].Methods[0].OutputObject.Multiple, false)
113-
is.Equal(def.Services[1].Methods[0].OutputObject.Package, "")
113+
is.Equal(def.Services[2].Methods[0].InputObject.TypeName, "WelcomeRequest")
114+
is.Equal(def.Services[2].Methods[0].InputObject.Multiple, false)
115+
is.Equal(def.Services[2].Methods[0].InputObject.Package, "")
116+
is.Equal(def.Services[2].Methods[0].OutputObject.TypeName, "WelcomeResponse")
117+
is.Equal(def.Services[2].Methods[0].OutputObject.Multiple, false)
118+
is.Equal(def.Services[2].Methods[0].OutputObject.Package, "")
114119

115-
welcomeInputObject, err := def.Object(def.Services[1].Methods[0].InputObject.TypeName)
120+
welcomeInputObject, err := def.Object(def.Services[2].Methods[0].InputObject.TypeName)
116121
is.NoErr(err)
117122
is.Equal(welcomeInputObject.Name, "WelcomeRequest")
118123
is.Equal(len(welcomeInputObject.Fields), 4)
@@ -146,7 +151,7 @@ You will love it.`)
146151
is.Equal(welcomeInputObject.Fields[3].Type.JSType, "boolean")
147152
is.Equal(welcomeInputObject.Fields[3].Type.SwiftType, "Bool")
148153

149-
welcomeOutputObject, err := def.Object(def.Services[1].Methods[0].OutputObject.TypeName)
154+
welcomeOutputObject, err := def.Object(def.Services[2].Methods[0].OutputObject.TypeName)
150155
is.NoErr(err)
151156
is.Equal(welcomeOutputObject.Name, "WelcomeResponse")
152157
is.Equal(len(welcomeOutputObject.Fields), 2)
@@ -167,7 +172,7 @@ You will love it.`)
167172
is.Equal(welcomeOutputObject.Fields[1].Type.SwiftType, "String")
168173
is.True(welcomeOutputObject.Metadata != nil)
169174

170-
is.Equal(len(def.Objects), 8)
175+
is.Equal(len(def.Objects), 10)
171176
for i := range def.Objects {
172177
switch def.Objects[i].Name {
173178
case "Greeting":
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package pleasantries
2+
3+
type StrangeTypesService interface {
4+
DoSomethingStrange(DoSomethingStrangeRequest) DoSomethingStrangeResponse
5+
}
6+
7+
type DoSomethingStrangeRequest struct {
8+
Anything interface{}
9+
}
10+
11+
type DoSomethingStrangeResponse struct {
12+
Value interface{}
13+
Size int
14+
}

0 commit comments

Comments
 (0)
Please sign in to comment.