OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Package gae provides a fakable wrapped interface for the appengine SDK's | 5 // Package gae provides a fakable wrapped interface for the appengine SDK's |
6 // APIs. This means that it's possible to mock all of the supported appengine | 6 // APIs. This means that it's possible to mock all of the supported appengine |
7 // APIs for testing (or potentially implement a different backend for them). | 7 // APIs for testing (or potentially implement a different backend for them). |
8 // | 8 // |
9 // Features | 9 // Features |
10 // | 10 // |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 // | 102 // |
103 // service.RawInterface - the internal service interface used by service | 103 // service.RawInterface - the internal service interface used by service |
104 // and filter implementations. Note that some services | 104 // and filter implementations. Note that some services |
105 // like Info don't distinguish between the service | 105 // like Info don't distinguish between the service |
106 // interface and the user interface. This interface is | 106 // interface and the user interface. This interface is |
107 // typically a bit lower level than Interface and | 107 // typically a bit lower level than Interface and |
108 // lacks convenience methods. | 108 // lacks convenience methods. |
109 // | 109 // |
110 // service.Testable - any additional methods that a 'testing' | 110 // service.Testable - any additional methods that a 'testing' |
111 // implementation should provide. This can be accessed | 111 // implementation should provide. This can be accessed |
112 // via the Testable method on Interface or | 112 // via the Testable method on RawInterface. If the |
113 // RawInterface. If the current implementation is not | 113 // current implementation is not testable, it will |
114 // testable, it will return nil. This is only meant to | 114 // return nil. This is only meant to be accessed when |
115 // be accessed when testing. | 115 // testing. |
116 // | 116 // |
117 // service.RawFactory - a function returning a RawInterface | 117 // service.RawFactory - a function returning a RawInterface |
118 // | 118 // |
119 // service.RawFilter - a function returning a new RawInterface based on | 119 // service.RawFilter - a function returning a new RawInterface based on |
120 // the previous filtered interface. Filters chain | 120 // the previous filtered interface. Filters chain |
121 // together to allow behavioral service features | 121 // together to allow behavioral service features |
122 // without needing to agument the underlying service | 122 // without needing to agument the underlying service |
123 // implementations directly. | 123 // implementations directly. |
124 // | 124 // |
125 // And common functions are: | 125 // And common functions are: |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 // and the state can be observed to see how many times each API was invoked. | 217 // and the state can be observed to see how many times each API was invoked. |
218 // Since filters stack, we can compare counts from rawCount versus userCount to | 218 // Since filters stack, we can compare counts from rawCount versus userCount to |
219 // see how many calls to the actual real datastore went through, vs. how many | 219 // see how many calls to the actual real datastore went through, vs. how many |
220 // went to memcache, for example. | 220 // went to memcache, for example. |
221 // | 221 // |
222 // Note that Filters apply only to the service.RawInterface. All implementations | 222 // Note that Filters apply only to the service.RawInterface. All implementations |
223 // of service.Interface boil down to calls to service.RawInterface methods, but | 223 // of service.Interface boil down to calls to service.RawInterface methods, but |
224 // it's possible that bad calls to the service.Interface methods could return | 224 // it's possible that bad calls to the service.Interface methods could return |
225 // an error before ever reaching the filters or service implementation. | 225 // an error before ever reaching the filters or service implementation. |
226 package gae | 226 package gae |
OLD | NEW |