forked from amazon-ion/ion-hash-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_ion_hasher_provider.go
54 lines (46 loc) · 1.79 KB
/
test_ion_hasher_provider.go
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
53
54
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package ionhash
import "strings"
// testIonHasherProvider struct for test Ion hasher provider.
// Used for testing purposes only.
type testIonHasherProvider struct {
algorithm string
updateHashLog [][]byte
digestHashLog [][]byte
}
// newTestIonHasherProvider returns a new testIonHasherProvider.
func newTestIonHasherProvider(algorithm string) *testIonHasherProvider {
return &testIonHasherProvider{algorithm: algorithm}
}
// getInstance returns either an identityHasherProvider or defaultHasherProvider depending on the algorithm.
func (tiop *testIonHasherProvider) getInstance() IonHasherProvider {
if tiop.algorithm == "identity" {
return newIdentityHasherProvider(tiop)
}
return newDefaultHasherProvider(strings.ToUpper(tiop.algorithm), tiop)
}
// getUpdateHashlog returns the updateHashLog.
func (tiop *testIonHasherProvider) getUpdateHashLog() [][]byte {
return tiop.updateHashLog
}
// getDigestHashLog returns the digestHashLog.
func (tiop *testIonHasherProvider) getDigestHashLog() [][]byte {
return tiop.digestHashLog
}
// getFinalDigestHashLog returns the last value in the digestHashLog.
func (tiop *testIonHasherProvider) getFinalDigestHashLog() []byte {
return tiop.digestHashLog[len(tiop.digestHashLog)-1]
}