18
18
import ru .r2cloud .TestConfiguration ;
19
19
import ru .r2cloud .model .DataFormat ;
20
20
import ru .r2cloud .model .DeviceConfiguration ;
21
+ import ru .r2cloud .model .Framing ;
21
22
import ru .r2cloud .model .IQData ;
22
23
import ru .r2cloud .model .ObservationRequest ;
23
24
import ru .r2cloud .model .Transmitter ;
@@ -38,42 +39,30 @@ public class SpyServerReaderTest {
38
39
39
40
@ Test
40
41
public void testDeviceNotConnected () throws Exception {
41
- mock = new SpyServerMock (deviceConfiguration .getHost ());
42
- mock .start ();
43
-
44
- deviceConfiguration .setPort (mock .getPort ());
42
+ mock .setDeviceInfo (null );
45
43
SpyServerReader reader = new SpyServerReader (config , createValidRequest (), deviceConfiguration , createValidTransmitter (), new ReentrantLock ());
46
44
reader .complete ();
47
45
assertNull (reader .start ());
48
46
}
49
47
50
48
@ Test
51
- public void testSuccess () throws Exception {
52
- mock = new SpyServerMock (deviceConfiguration .getHost ());
53
- mock .start ();
54
-
55
- mock .setDeviceInfo (createAirSpy ());
56
- mock .setSync (createValidSync ());
57
- mock .setData (createSample (), SpyClient .SPYSERVER_MSG_TYPE_INT16_IQ );
49
+ public void testSatdump () throws Exception {
50
+ ObservationRequest req = createValidRequest ();
51
+ Transmitter transmitter = createValidTransmitter ();
52
+ // some generic satdump-based satellite info
53
+ transmitter .setBandwidth (2_400_000L );
54
+ transmitter .setFraming (Framing .SATDUMP );
55
+ SpyServerReader reader = new SpyServerReader (config , req , deviceConfiguration , transmitter , new ReentrantLock ());
56
+ IQData result = syncRead (reader );
57
+ assertNotNull (result );
58
+ assertNotNull (result .getIq ());
59
+ }
58
60
59
- deviceConfiguration .setPort (mock .getPort ());
61
+ @ Test
62
+ public void testSuccess () throws Exception {
60
63
ObservationRequest req = createValidRequest ();
61
64
SpyServerReader reader = new SpyServerReader (config , req , deviceConfiguration , createValidTransmitter (), new ReentrantLock ());
62
- new Thread (new Runnable () {
63
-
64
- @ Override
65
- public void run () {
66
- try {
67
- // make sure all config parameters are sent/read
68
- mock .waitForDataSent ();
69
- } catch (InterruptedException e ) {
70
- Thread .currentThread ().interrupt ();
71
- return ;
72
- }
73
- reader .complete ();
74
- }
75
- }).start ();
76
- IQData result = reader .start ();
65
+ IQData result = syncRead (reader );
77
66
assertNotNull (result );
78
67
assertEquals (DataFormat .COMPLEX_SIGNED_SHORT , result .getDataFormat ());
79
68
assertEquals (46875 , result .getSampleRate ());
@@ -84,10 +73,17 @@ public void run() {
84
73
85
74
@ Before
86
75
public void start () throws Exception {
76
+ mock = new SpyServerMock ("localhost" );
77
+ mock .start ();
78
+ mock .setDeviceInfo (createAirSpy ());
79
+ mock .setSync (createValidSync ());
80
+ mock .setData (createSample (), SpyClient .SPYSERVER_MSG_TYPE_INT16_IQ );
81
+
87
82
deviceConfiguration = new DeviceConfiguration ();
88
83
deviceConfiguration .setHost ("localhost" );
89
84
deviceConfiguration .setTimeout (1000 );
90
85
deviceConfiguration .setGain (10.0f );
86
+ deviceConfiguration .setPort (mock .getPort ());
91
87
92
88
config = new TestConfiguration (tempFolder );
93
89
config .setProperty ("server.tmp.directory" , tempFolder .getRoot ().getAbsolutePath ());
@@ -138,6 +134,25 @@ public static SpyClientSync createValidSync() {
138
134
return result ;
139
135
}
140
136
137
+ private IQData syncRead (SpyServerReader reader ) throws InterruptedException {
138
+ new Thread (new Runnable () {
139
+
140
+ @ Override
141
+ public void run () {
142
+ try {
143
+ // make sure all config parameters are sent/read
144
+ mock .waitForDataSent ();
145
+ } catch (InterruptedException e ) {
146
+ Thread .currentThread ().interrupt ();
147
+ return ;
148
+ }
149
+ reader .complete ();
150
+ }
151
+ }).start ();
152
+ IQData result = reader .start ();
153
+ return result ;
154
+ }
155
+
141
156
@ After
142
157
public void stop () {
143
158
if (mock != null ) {
0 commit comments