• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mattonem / PharoJS / 14358269857

11 Mar 2025 04:04PM UTC coverage: 42.026% (-17.4%) from 59.444%
14358269857

push

github

mattonem
more catching

1 of 1 new or added line in 1 file covered. (100.0%)

3707 existing lines in 69 files now uncovered.

8909 of 21199 relevant lines covered (42.03%)

0.42 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

10.81
/Pharo/PharoJs-Base-Bridge-Tests/BrowseStackAPI.class.st
1
Class {
2
        #name : 'BrowseStackAPI',
3
        #superclass : 'Object',
4
        #classInstVars : [
5
                'browserstackKey',
6
                'browserstackUsername',
7
                'browserstackLocalIdentifier'
8
        ],
9
        #category : 'PharoJs-Base-Bridge-Tests',
10
        #package : 'PharoJs-Base-Bridge-Tests'
11
}
12

13
{ #category : 'accessing' }
UNCOV
14
BrowseStackAPI class >> apiUrl [
×
UNCOV
15

×
UNCOV
16
        ^ 'https://api.browserstack.com/5/worker/' asZnUrl 
×
UNCOV
17
]
×
18

19
{ #category : 'accessing' }
20
BrowseStackAPI class >> browserstackKey [
1✔
21

1✔
22
        ^ browserstackKey ifNil: [
1✔
23
                  Smalltalk os environment
1✔
24
                          at: 'BROWSERSTACK_ACCESS_KEY'
1✔
25
                          ifAbsent: [ '' ] ]
1✔
26
]
1✔
27

28
{ #category : 'accessing' }
29
BrowseStackAPI class >> browserstackKey: aKey [
×
30

×
31
        browserstackKey := aKey
×
32
]
×
33

34
{ #category : 'accessing' }
35
BrowseStackAPI class >> browserstackKeySettingOn: aBuilder [
×
36

×
37
        <systemsettings>
×
38
        (aBuilder setting: #browserstackKey)
×
39
                order: 1;
×
40
                label: 'Browserstack key' translated;
×
41
                description: 'Your browserstack private key';
×
42
                setSelector: #browserstackKey:;
×
43
                getSelector: #browserstackKey;
×
44
                target: self;
×
45
                parent: #browserstack
×
46
]
×
47

48
{ #category : 'accessing' }
UNCOV
49
BrowseStackAPI class >> browserstackLocalIdentifier [
×
UNCOV
50

×
UNCOV
51
        ^ browserstackLocalIdentifier ifNil: [
×
UNCOV
52
                  Smalltalk os environment
×
UNCOV
53
                          at: 'BROWSERSTACK_LOCAL_IDENTIFIER'
×
UNCOV
54
                          ifAbsent: [ '' ] ]
×
UNCOV
55
]
×
56

57
{ #category : 'accessing' }
58
BrowseStackAPI class >> browserstackLocalIdentifier: aString [
×
59

×
60
        browserstackLocalIdentifier := aString
×
61
]
×
62

63
{ #category : 'accessing' }
64
BrowseStackAPI class >> browserstackLocalIdentifierSettingOn: aBuilder [
×
65

×
66
        <systemsettings>
×
67
        (aBuilder setting: #browserstackLocalIdentifier)
×
68
                order: 0;
×
69
                label: 'Browserstack local identifier' translated;
×
70
                description: 'Your browserstack username';
×
71
                setSelector: #browserstackLocalIdentifier:;
×
72
                getSelector: #browserstackLocalIdentifier;
×
73
                target: self;
×
74
                parent: #browserstack
×
75
]
×
76

77
{ #category : 'accessing' }
UNCOV
78
BrowseStackAPI class >> browserstackUsername [
×
UNCOV
79

×
UNCOV
80
        ^ browserstackUsername ifNil: [
×
UNCOV
81
                  Smalltalk os environment
×
UNCOV
82
                          at: 'BROWSERSTACK_USERNAME'
×
UNCOV
83
                          ifAbsent: [ '' ] ]
×
UNCOV
84
]
×
85

86
{ #category : 'accessing' }
87
BrowseStackAPI class >> browserstackUsername: aUsername [
×
88

×
89
        ^ browserstackUsername := aUsername
×
90
]
×
91

92
{ #category : 'accessing' }
93
BrowseStackAPI class >> browserstackUsernameSettingOn: aBuilder [
×
94

×
95
        <systemsettings>
×
96
        (aBuilder setting: #browserstackUsername)
×
97
                order: 0;
×
98
                label: 'Browserstack username' translated;
×
99
                description: 'Your browserstack username';
×
100
                setSelector: #browserstackUsername:;
×
101
                getSelector: #browserstackUsername;
×
102
                target: self;
×
103
                parent: #browserstack
×
104
]
×
105

106
{ #category : 'accessing' }
UNCOV
107
BrowseStackAPI class >> getSessionId: anId [
×
UNCOV
108

×
UNCOV
109
        ^ (STONJSON fromString: (ZnEasy
×
UNCOV
110
                            get: self apiUrl / anId asString
×
UNCOV
111
                            username: self browserstackUsername
×
UNCOV
112
                            password: self browserstackKey) contents) at: #sessionId
×
UNCOV
113
]
×
114

115
{ #category : 'accessing' }
116
BrowseStackAPI class >> isConfigured [
1✔
117

1✔
118
        ^ self browserstackKey isNotEmpty and: [
1✔
119
                  self browserstackUsername isNotEmpty ]
1✔
120
]
1✔
121

122
{ #category : 'accessing' }
123
BrowseStackAPI class >> settingsGroupOn: aBuilder [
×
124

×
125
        <systemsettings>
×
126
        (aBuilder group: #browserstack) label: 'Browserstack Settings'
×
127
]
×
128

129
{ #category : 'accessing' }
UNCOV
130
BrowseStackAPI class >> startBStackJsInterpreterProject: projectName buildName: buildName sessionName: sessionName startUrl: aURLString [
×
UNCOV
131

×
UNCOV
132
        ^ (STONJSON fromString: (ZnEasy
×
UNCOV
133
                            post: self apiUrl 
×
UNCOV
134
                            data: (ZnEntity json:
×
UNCOV
135
                                             '{"os":"OS X","os_version":"Sequoia","url":"' , aURLString
×
UNCOV
136
                                             , '","project": "' , projectName , '","build": "'
×
UNCOV
137
                                             , buildName , '","name": "' , sessionName
×
UNCOV
138
                                             ,
×
UNCOV
139
                                             '","browser":"chrome","browser_version":"latest", "localtesting": true, "localIdentifier": "'
×
UNCOV
140
                                             , self browserstackLocalIdentifier , '"}')
×
UNCOV
141
                            username: self browserstackUsername
×
UNCOV
142
                            password: self browserstackKey) contents) at: #id
×
UNCOV
143
]
×
144

145
{ #category : 'accessing' }
UNCOV
146
BrowseStackAPI class >> terminateWorker: anId [
×
UNCOV
147

×
UNCOV
148
        ZnEasy
×
UNCOV
149
                delete: self apiUrl / anId asString
×
UNCOV
150
                username: self browserstackUsername
×
UNCOV
151
                password: self browserstackKey
×
UNCOV
152
]
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc