1 package fake
2
3 import (
4 "time"
5
6 corev1 "k8s.io/api/core/v1"
7 v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
8
9 "edge-infra.dev/pkg/edge/bsl"
10 )
11
12 var (
13 currentTime = time.Now().UTC()
14 )
15
16 func GetBSLInfoConfigMap() *corev1.ConfigMap {
17 bslInfo := GetBSLInfo()
18 return &corev1.ConfigMap{
19 TypeMeta: v1.TypeMeta{
20 Kind: "ConfigMap",
21 APIVersion: "v1",
22 },
23 ObjectMeta: v1.ObjectMeta{
24 Name: bsl.BSLInfoConfigMapName,
25 Namespace: v1.NamespacePublic,
26 },
27 Data: map[string]string{
28 bsl.BSLSiteID: bslInfo.ID,
29 bsl.BSLSiteName: bslInfo.SiteName,
30 bsl.BSLSiteEnterpriseUnitName: bslInfo.EnterpriseUnitName,
31 bsl.BSLSiteDescription: bslInfo.Description,
32 bsl.BSLOrganizationID: bslInfo.OrganizationID,
33 bsl.BSLSiteOrganizationName: bslInfo.OrganizationName,
34 bsl.BSLSiteParentEnterpriseUnitID: bslInfo.ParentEnterpriseUnitID,
35 bsl.BSLSiteReferenceID: bslInfo.ReferenceID,
36 bsl.BSLSiteCoordinateLatitude: bslInfo.CoordinateLatitudeToString(),
37 bsl.BSLSiteCoordinateLongitude: bslInfo.CoordinateLongitdeToString(),
38 bsl.BSLSiteAddressStreet: bslInfo.Address.Street,
39 bsl.BSLSiteAddressCity: bslInfo.Address.City,
40 bsl.BSLSiteAddressState: bslInfo.Address.State,
41 bsl.BSLSiteAddressCountry: bslInfo.Address.Country,
42 bsl.BSLSiteAddressPostalCode: bslInfo.Address.PostalCode,
43 bsl.BSLSiteContactPerson: bslInfo.Contact.ContactPerson,
44 bsl.BSLSiteContactPhoneNumber: bslInfo.Contact.PhoneNumber,
45 bsl.BSLSiteContactPhoneNumberCountryCode: bslInfo.Contact.PhoneNumberCountryCode,
46 bsl.BSLSiteCurrency: bslInfo.Currency,
47 bsl.BSLSiteDayParts: bslInfo.DaypartsToString(),
48 bsl.BSLSiteDeactivatedOn: bslInfo.DeactivatedOn,
49 bsl.BSLSiteLastModifiedOn: bslInfo.LastModifiedOn,
50 bsl.BSLSiteLocked: bslInfo.LockedToString(),
51 bsl.BSLSiteCustomAttributeSets: bslInfo.CustomAttributeSetsToString(),
52 bsl.BSLSiteEnterpriseSettings: bslInfo.EnterpriseSettingsToString(),
53 bsl.BSLSiteStatus: bslInfo.Status,
54 bsl.BSLSiteTimeZone: bslInfo.TimeZone,
55 bsl.BSLSiteHours: bslInfo.HoursToString(),
56 bsl.BSLSiteCreatedOn: bslInfo.CreatedOn,
57 bsl.BSLEndpoint: bslInfo.Endpoint,
58 bsl.BSLSiteContacts: bslInfo.ContactsToString(),
59 },
60 }
61 }
62
63 func GetBSLInfo() *bsl.BSLInfo {
64 return &bsl.BSLInfo{
65 ID: "id-1",
66 SiteName: "test-site-1",
67 EnterpriseUnitName: "test-store-1",
68 Coordinates: bsl.Coordinates{
69 Latitude: 90.0,
70 Longitude: 180.0,
71 },
72 Address: bsl.Address{
73 Street: "111 Test Street",
74 City: "Atlanta",
75 State: "Georgia",
76 Country: "US",
77 PostalCode: "30301",
78 },
79 Contact: bsl.Contact{
80 ContactPerson: "Test Person",
81 PhoneNumber: "2345678910",
82 PhoneNumberCountryCode: "+1",
83 },
84 Contacts: map[string]bsl.Contact{
85 "Pharmacy": {
86 ContactPerson: "Pharmacy",
87 Email: "pharmacy@ncr.com",
88 PhoneNumber: "2345678910",
89 PhoneNumberCountryCode: "+1",
90 },
91 },
92 CustomAttributeSets: []bsl.CustomAttributeSet{
93 {
94 TypeName: "test-type",
95 Attributes: []bsl.Attribute{
96 {
97 Key: "test-key",
98 Value: "test-value",
99 },
100 },
101 },
102 },
103 Currency: "USD",
104 CreatedOn: currentTime.Local().String(),
105 Description: "Test Description",
106 EnterpriseSettings: []bsl.EnterpriseSetting{
107 {
108 EnterpriseUnitID: "ent-unit-1",
109 ConfigurationSetID: bsl.ConfigurationSetID{
110 Name: "test-config",
111 },
112 ConfigurationSettings: []bsl.ConfigurationSetting{
113 {
114 Key: "key-1",
115 Value: "value-1",
116 },
117 },
118 },
119 },
120 LastModifiedOn: currentTime.Local().String(),
121 Locked: false,
122 Status: bsl.Inactive.String(),
123 DayParts: []bsl.DayParts{
124 {
125 Name: "Office Hours",
126 Description: "Test Dayparts",
127 Day: bsl.Daily.String(),
128 StartTime: "6:00 AM",
129 EndTime: "5:00 PM",
130 },
131 },
132 OrganizationID: "0123456789",
133 OrganizationName: "test-org",
134 ParentEnterpriseUnitID: "ent-1",
135 ReferenceID: "ref-1",
136 TimeZone: "CST",
137 Hours: []bsl.Hours{
138 {
139 Open: bsl.SiteHours{Day: bsl.Daily.String(), Time: "6:00 AM"},
140 Close: bsl.SiteHours{Day: bsl.Daily.String(), Time: "5:00 PM"},
141 },
142 },
143 Endpoint: "https://api.ncr.test",
144 }
145 }
146
View as plain text